{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# 第 11 章 语音助手意图分类"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 11.1 数据集"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 11.1.1 加载数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import json\n",
    "import jieba\n",
    "import pandas as pd\n",
    "from typing import List\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "%matplotlib inline  \n",
    "\n",
    "plt.rcParams['figure.dpi'] = 180\n",
    "plt.rcParams['axes.grid'] = False\n",
    "\n",
    "def read_data_as_pd(file_path: str) -> pd.DataFrame:\n",
    "    \"\"\"读取数据集为 DataFrame 格式\n",
    "\n",
    "    Args:\n",
    "        file_path: 原文件路径\n",
    "    Returns:\n",
    "        数据集 DataFrame\n",
    "    \"\"\"\n",
    "    json_data = json.load(open(file_path, 'r'))\n",
    "    value_list = list(json_data.values())\n",
    "    return pd.DataFrame(value_list)\n",
    "\n",
    "train_df = read_data_as_pd('data/SMP2018-Task-1/train.json')\n",
    "test_df = read_data_as_pd('data/SMP2018-Task-1/dev.json')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x10ad65860>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABu8AAAYtCAYAAADNNcN/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAbrgAAG64BjF1z+AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde6zfdZ3n8dfn9PS0p1J6aEmnWFhwJTs6lkW8I2yC8YI7GjWupGMEBy9cZN2gqwbWhJaLq8CyLEIwLpqlFiGiwQR3yWyBDZgRV+WyRIiOs3EHllSRhdKe3i/0u3+cy3Scc05bzu1NeTySX/o73+/n8/1+vs3vv2c+v1/rui4AAAAAAADA7OuZ7QUAAAAAAAAAQ8Q7AAAAAAAAKEK8AwAAAAAAgCLEOwAAAAAAAChCvAMAAAAAAIAixDsAAAAAAAAoQrwDAAAAAACAIsQ7AAAAAAAAKEK8AwAAAAAAgCLEOwAAAAAAAChCvAMAAAAAAIAixDsAAAAAAAAoQrwDAAAAAACAIsQ7AAAAAAAAKEK8AwAAAAAAgCLEOwAAAAAAACiid7YXcKhorXWzvQYAAAAAAABmT9d1bbLXsPMOAAAAAAAAirDzbop1nQ14AAAAAAAALyetTXrD3Sg77wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAiuid7QUAAAAAAACMZdeuXRkcHMz27duzd+/e2V4Oh7ienp709/fn8MMPT19f36yto3VdN2s3P5S01rok8f8JAAAAAACT03Vdnn766WzcuHG2l8LL1MDAQJYtW5bW2gGNHxnXdd2BTZiAnXcAAAAAAEApfxzu5s6dm97e3gMOKXCwuq7Lnj17snv37iQZ/fwdddRRM74W8Q4AAAAAAChj165do+Gkr68vy5cvz7x584Q7pl3Xddm5c2fWr18/+jlcsmTJjH+FZs+M3g0AAAAAAGACg4ODo++XL1+e+fPnC3fMiNZa5s+fn+XLl48e27x584yvQ7wDAAAAAADK2L59e5Khr8qcN2/eLK+Gl6N58+Zl7ty5SZJt27bN+P3FOwAAAAAAoIy9e/cmid+4Y9a01tLbO/TLcyOfx5kk3gEAAAAAAOUId8ym2fz8iXcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEX0zvYCAAAAAAAAXozjLr5rtpcwJZ648n2zvQQKsfMOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAA4BB266235pRTTsnChQuzaNGivPWtb81NN92Uruty9tlnp7WWs88++x/Maa2ltZb7779/3Ouedtppaa3l0ksvHXfMAw88kDPPPDPHHnts5s+fn0WLFuUtb3lLrrrqqmzZsmXMOfuuqeu6fPvb386pp56aJUuWpLWWNWvW5OKLL05rLa973esmfPbBwcEcdthho/NeCvzmHQAAAAAAwCGo67p86lOfys0335xkKMgNDAzkoYceyi9+8Yvcd999mTdv3rTce+/evfn85z+f66+/fvTYYYcdlq1bt+bBBx/Mgw8+mJtvvjnr1q3LscceO+76zzjjjNxxxx3p6enJokWL0tMztC/tvPPOy9VXX51f/epX+clPfpJTTz11zGvcdttt2bp1axYtWpSVK1dO/YNOAzvvAAAAAAAADkE33HDDaLj77Gc/m2eeeSYbNmzIhg0bcumll+b222/PnXfeOS33Xr16da6//vosXbo0N954Y5577rls3rw527dvz3333ZeTTjopv/nNb/LhD384e/fuHfMaP/zhD3PnnXfmmmuuyfPPP58NGzZk06ZNOf300/OqV70qp59+epLkW9/61rjrGDl31llnpb+/f+ofdBqIdwAAAAAAAIeYHTt25LLLLksyFK5uuOGGHHnkkUmSRYsWZfXq1bnooouycePGKb/3E088ka997Wvp7+/P3XffnQsuuCCLFy9OksydOzennXZafvzjH+foo4/OI488kh/96EdjXmfLli259tpr84UvfCGHH354kqHde0cddVSS5Pzzz0+S/OAHPxjzOR5++OE88sgjSZJzzz13yp9zuoh3AAAAAAAAh5i77747GzZsSJKsWrVqzDEXX3xx5s+fP+X3XrNmTV544YW8973vzYknnjjmmIULF+ZDH/pQkmTdunVjjjniiCNy3nnnjXuf97///Tn66KOzffv23HLLLf/o/Miuu5NPPjknnHDCwT7GrBHvAAAAAAAADjEPPfRQkuSYY47J8ccfP+aYRYsW5Y1vfOOU3/uBBx5IMhQQly1bNu5r5Cs9n3zyyTGv8+Y3vzl9fX3j3mfOnDk555xzkvzjr87cunVrbrvttiQvrV13iXgHAAAAAABwyHnmmWeSJMuXL59w3NFHHz3l9/7d736XZCig/eEPfxj3tXXr1iTJtm3bxrzO0qVL93uvT3/60+nt7c1jjz2Wn/3sZ6PHv/e972Xz5s0ZGBjIypUrp+CpZo54BwAAAAAAwJR54YUXkiQXXXRRuq7b7+v+++8f8zpz5szZ771e+cpX5gMf+ECS5Kabbho9PrIT78wzz0x/f/8kn2hmiXcAAAAAAACHmJFda+vXr59w3HjnR8LZjh07xp27adOmMY8vW7YsyfhfhznVzj///CTJ97///QwODuaxxx7Lz3/+8ySZ8DfzqhLvAAAAAAAADjFvetObkiRPPfVUfvvb3445ZnBwMA8//PCY54444ojR+WPZvHlzfv3rX4957pRTTkmS3HvvvRPGv6nyrne9K8cff3y2bt2aW2+9dXTX3cknn5wVK1ZM+/2nmngHAAAAAABwiHn3u989GuCuuOKKMcdcffXV2b59+5jnTjzxxCTJHXfcMeb5a665Jjt37hzz3Cc/+cn09vbm2WefzerVqydc565du7Jly5YJx+xPa210h903vvGNfPe7302SnHvuuZO67mwR7wAAAAAAAA4x/f39ueSSS5Ik3/nOd/K5z30uzz33XJKhHXdXXHFFvvrVr2ZgYGDM+R/96EeTJOvWrcvq1aszODiYJHn22Wfz5S9/OV/5ylfGnfvqV7969N5XX311Pv7xj+fxxx8fPb9nz548+uijufzyy3P88cfn0UcfnfTzfuITn8i8efPy+OOP5/nnn8/AwEBWrlw56evOBvEOAAAAAADgEHThhRfmrLPOSpJ8/etfz9KlS7N48eIsXrw4q1atysqVK/PBD35wzLlnn3123vGOdyRJLr/88gwMDGTx4sVZunRprrzyylx11VWju/PGcskll+SSSy5Jay233HJLTjjhhCxYsCBHHnlk5s+fn5NOOimrV6/OU089ldbapJ91yZIlOeOMM0b/PvPMM9Pf3z/p684G8Q4AAAAAAOAQ1NPTk7Vr12bt2rV529velv7+/uzZsydveMMb8s1vfjO33XbbuHPnzJmTu+66K5dddlle85rXpK+vL621vOc978k999yTL37xixPeu7WWyy+/PL/85S9zwQUX5LWvfW3mzJmTTZs25Ygjjsjb3/72fOlLX8pPf/rT0d/Im6x9493I12i+FPXO9gIAAAAAAACYPmedddboDryD0d/fn1WrVmXVqlVjnr///vv3e40VK1bkxhtvPKj7rlmzJmvWrDmoOUlyzz33JElOPvnkrFix4qDnVyHeAQAAAAAAL0lPXPm+2V4CRQwODmbt2rVJks985jOzvJrJ8bWZAAAAAAAAvGTt3LkzF154YQYHB3PMMcdk5cqVs72kSbHzDgAAAAAAgJec6667Ltddd12eeeaZbN++PUly7bXXpq+vb5ZXNjl23gEAAAAAAPCSs3Hjxjz55JPpui6vf/3rc/vtt+cjH/nIbC9r0lrXdbO9hkNCa61LEv+fAAAAAADw4j355JPZtm1bFixYkGOPPXa2l8PL1MF+DltrSZKu69pk723nHQAAAAAAABQh3gEAAAAAAEAR4h0AAAAAAAAUId4BAAAAAABAEeIdAAAAAAAAFCHeAQAAAAAA5XRdN9tL4GVsNj9/4h0AAAAAAFBGT89QutizZ4+Ax6zoui579uxJ8vefx5kk3gEAAAAAAGX09/cnSXbv3p2dO3fO8mp4Odq5c2d2796dJFmwYMGM31+8AwAAAAAAyjj88MNH369fvz47duywA48Z0XVdduzYkfXr148eW7hw4Yyvo/nAT43WWpf4Dl4AAAAAAJis3//+99m4cePo33Pnzk1vb29aa7O4Kg5lI1+VObLjLkkGBgZy1FFHHdD8kc9m13WT/pCKd1NEvAMAAAAAgKnRdV2efvrpfxDwYCYNDAxk2bJlBxyMxbuCxDsAAAAAAJhau3btyubNm7Nt27bs3bt3tpfDIa6npycLFizIwoUL09fXd1BzxbuCxDsAAAAAAICXp6mMdz2TXg0AAAAAAAAwJcQ7AAAAAAAAKEK8AwAAAAAAgCLEOwAAAAAAAChCvAMAAAAAAIAiemd7AUANx11814zd64kr3zdj9wIAAAAAgJcSO+8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAAAAAAAIoQ7wAAAAAAAKAI8Q4AAAAAAACKEO8AAAAAAACgCPEOAAAAAAAAihDvAAAAAAAAoAjxDgAA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eAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAAAAAAUIR4BwAAAAAAAEWIdwAAAAAAAFCEeAcAAAAAAABFiHcAAAAAAABQhHgHAAAAAAAARYh3AAAA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4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQ4h0AAAAAAAAMId4BAAAAAADAEOIdAAAAAAAADCHeAQAAAAAAwBDiHQAAAAAAAAwh3gEAAAAAAMAQuxLvquqeVfWCqnpfVX2hqq6vqu9U1b9V1Yer6leO4xoHq+r3q+pzVXVdVX2rqv6hql5eVXc5jv33qqo3VNWXq+rGqvpGVV1WVS+sqtqZTwoAAAAAAAA7Z98uXffaLde+Kcl3k9xv+fulqro4yTO7+4atm6vqgUk+nuTQcuqGJHdN8pjl7zlV9cTu/uZ2N6+qRye5JMk9l1PXJTmY5PHL3zOr6undffMd+IwAAAAAAACwo3brazP3Jbk8ye8keUh3n9zdB5I8KMk7ljVPTfLWrRural+SC7MR7v49yS929/4kpyR5dpIjSX4yyfu2u3FVnZbkI9kId19K8tjuPphkf5KzsxERn5zkjTvxQQEAAAAAAGCn7Fa8+4Xuflx3v6W7/3XzZHcf7u4X5tZo99yquv+Wvc9P8mPL+Bnd/dFl7y3d/RdJXrzMPa2qnrjNvc9Jcu8kNyZ5Wndfsey/ubvfnOT8Zd2Lquqhd/BzAgAAAAAAwI7ZlXjX3R87xpJ3rIwfs2Xu+cvrx7r7U9vs/UCSq5fx87aZ3zz3ge6+epv5N2XjazRPSvKcY7xPAAAAAAAA2DO79eTdsdy0Mj5pc1BVpyT52eXw4u02dncn+dvl8Emrc1X1sCQPOMb+65Jctt1+AAAAAAAAOJFOVLz7uZXx51bGD8+t7+nKNfs35+5dVfdYOf/Ibdas2/+INWsAAAAAAABgT+15vKuqH0jyu8vhZd395ZXp+66Mv7rmMqtz9z3K+Hj2n1pVB9as+z9V1ev+jucaAAAAAAAAsM6exruqulOS9ya5Tza+OvPsLUsOroxvWHOp1bmDRxnfnv0AAAAAAABwwuzb4/v9SZIzl/FZ3f2Pe3z/2627a928p+8AAAAAAAC4o/bsybuquiC3Pmn30u5+5zbLjqyMT1lzudW5I0cZ3579AAAAAAAAcMLsSbyrqj9K8vLl8JzufuNRll6zMr7fmkuuzl1zlPHx7P92d1+3Zh0AAAAAAADsmV2Pd1X1+iSvWA5f2d1vWLP8i0luWcaPXLNuc+7a7v7Gyvkrt1mzbv8X1qwBAAAAAACAPbWr8W75qsxzlsNXdvfr163v7huSfHI5fMpRrllJnrwcXrpl+qokXznG/v1JnnCU/QAAAAAAAHDC7Fq8W8Ld6ldlrg13K969vP58VT1um/lnJXnwMn7P6kR398q5Z1fVoW32n5XkQJLvJXn/cb4nAAAAAAAA2HW7Eu+2/Mbdy47xVZlbvTvJ55JUkg9V1ROXa96pqp6V5O3Luou7+++32X9BkmuTnJLkoqp69LL/LlX1kiSvXda9rbuvui2fCwAAAAAAAHbTvp2+YFU9ILf+xt0tSc6tqnPXbLmguy/YPOju/6mqpyf5WJJDST5aVTdkIzTebVn22STP2e5i3f2tqjozySVJHpHkiqo6suy987Ls0iQvvR0fDwAAAAAAAHbNjse7/P+n+e6U5F7HWH9g64nuPlxVj8rG7+X9apIHJfluks8n+fMkb+rum492we7+TFWdnuTcJGcmuX+S65NcmY0n+97Z3bcc9ycCAAAAAACAPbDj8a67D2fjKy/v6HWOJDl/+bs9+/8jycuWPwAAAAAAABhvV37zDgAAAAAAALjtxDsAAAAAAAAYQrwDAAAAAACAIcQ7AAAAAAAAGEK8AwAAAAAAgCHEOwAAAAAAABhCvAMAAAAAAIAhxDsAAAAAAAAYQrwDAAAAAACAIcQ7AAAAAAAAGEK8AwAAAAAAgCHEOwAAAAAAABhCvAMAAAAAAIAhxDsAAAAAAAAYQrwDAAAAAACAIcQ7AAAAAAAAGEK8AwAAAAAAgCHEOwAAAAAAABhCvAMAAAAAAIAhxDsAAAAAAAAYQrwDAAAAAACAIcQ7AAAAAAAAGEK8AwAAAAAAgCHEOwAAAAAAABhCvAMAAAAAAIAhxDsAAAAAAAAYQrwDAAAAAACAIcQ7AAAAAAAAGEK8AwAAAAAAgCHEOwAAAAAAABhCvAMAAAAAAIAhxDsAAAAAAAAYQrwDAAAAAACAIcQ7AAAAAAAAGEK8AwAAAAAAgCHEOwAAAAAAABhCvAMAAAAAAIAhxDsAAAAAAAAYQrwDAAAAAACAIcQ7AAAAAAAAGGLfiX4DAAAAAAAAJ8Kh8y7as3sdft0Ze3Yvvr958g4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAAYAjxDgAAAAAAAIYQ7wAAAAAAAGAI8Q4AAAAAAACGEO8AAAAAAABgCPEOAAAAAAAAhhDvAAAAAAAA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Lbkq8H5gc2A3YD0qsfJO20f0JtKQtADYB7jJ9nfarm9Hjf1o78JzO/AG250qKntO0lJgEfA1atzHRT0OKWLgJXkXEREDQdKlVGuJp9q+sMPap1BtGS6zPRCtMyMiIiIiIiKmoznA+k7gzcCKzeX2TV9RoyWOsn1Ul8OLSZK0IrAdNff+FuC8QWkzKem1wDdt/98k128MrGT7ytmNLGJwJXkXEREDQdIHgDdQSbldbd87zrqVgDOpQc8fs/367kUZERERERER0RuSNqfmFD4F2JhK5F1DzYU/ZnTb04iZ0lTe/d32JpNcfznwQNsrzW5kEYMrybuIiBgIkjYF/gDMoxJ4h9m+dNSabYCPAjtQw9S3yimuiIiIiIiIGFaSNgPus331JNen4qmHmiTXUmq/4k+9jmemNH+va2xvPMn1lwObteYyRsSykryLiIiBIelA4Ettl64BWoOPNwceQLUDMXCQ7S93NcCIiIiIiIiILkrF02CRdDtwj+21eh3LTJpG8u7vwDq2581uZBGDKy/SERExMGwfL2kR8ElgC2Cj5le7vwCH2j6ly+FFRERERERE9IJmeX3MnKuATXsdRC811Z/rA9f1OpaIfpbkXUREDBTb35N0CrAzsD1VbWeqCu8C4CzbS3sYYkRERERERES/mg+MOUM+uuJ7wGsk7Wj7nF4HM12SngbsNOryapLeMdGnAWsBezZ/vmh2oosYDmmbGRERERERERERETGAptKusKl4uhK4brLtDWNmSVof+BWwCNjV9t97HNK0SDocOJw6TA0jI0wm9enAncBOtn8yC+FFDIVU3kVEREREREREREQMgFQ8Dbx/At4KfBT4jaTjgfOpFpL3jfdJts/tTniTdgXQXjm4I3APcOEEn7MUWAz8GjjW9p9mLbqIIZDKu4iIiIiIiIiIiIgBkIqnwdZUSk51Q962+7oIZyoVoBExOX39Qx8RERERERERERER/3AFqXgadJrl9b1wMLCk10FEDJNU3kVEREREREREREQMoFQ8RUQMp1TeRURERERERERERAymVDwNEEmbAffZvnqS6zcGVrJ95exGFhH9JpV3ERERERERERERERGzrKmU/LvtTSa5/nLggf0+8y4iZt4KvQ4gIiIiIiIiIiIiImKOGMaZdxExw5K8i4iIiIiIiIiIiIjoP/OBe3sdRER0X5J3ERERERER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\n",
      "text/plain": [
       "<Figure size 2160x1800 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df.groupby('label').count().plot.bar(figsize = (12, 10))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 11.1.2 数据预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>query</th>\n",
       "      <th>label</th>\n",
       "      <th>cutted</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>今天东莞天气如何</td>\n",
       "      <td>weather</td>\n",
       "      <td>[今天, 东莞, 天气, 如何]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>从观音桥到重庆市图书馆怎么走</td>\n",
       "      <td>map</td>\n",
       "      <td>[从, 观音桥, 到, 重庆市, 图书馆, 怎么, 走]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>鸭蛋怎么腌？</td>\n",
       "      <td>cookbook</td>\n",
       "      <td>[鸭蛋, 怎么, 腌, ？]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>怎么治疗牛皮癣</td>\n",
       "      <td>health</td>\n",
       "      <td>[怎么, 治疗, 牛皮癣]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>唠什么</td>\n",
       "      <td>chat</td>\n",
       "      <td>[唠, 什么]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            query     label                        cutted\n",
       "0        今天东莞天气如何   weather              [今天, 东莞, 天气, 如何]\n",
       "1  从观音桥到重庆市图书馆怎么走       map  [从, 观音桥, 到, 重庆市, 图书馆, 怎么, 走]\n",
       "2          鸭蛋怎么腌？  cookbook                [鸭蛋, 怎么, 腌, ？]\n",
       "3         怎么治疗牛皮癣    health                 [怎么, 治疗, 牛皮癣]\n",
       "4             唠什么      chat                       [唠, 什么]"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def process_query(query: str) -> List[str]:\n",
    "    \"\"\" 预处理 query，比如：‘我要看电影 ’ -> ['我要', '看', '电影']\n",
    "\n",
    "    Args:\n",
    "        query: query 文本\n",
    "    Returns:\n",
    "        处理后的标记数组\n",
    "    \"\"\"\n",
    "    stripped_query = query.strip()\n",
    "    return list(jieba.cut(stripped_query))\n",
    "\n",
    "train_df['cutted'] = train_df['query'].apply(process_query)\n",
    "test_df['cutted'] = test_df['query'].apply(process_query)\n",
    "\n",
    "train_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x10b9595f8>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_df['cutted'].apply(lambda x: len(x)).hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import collections\n",
    "import operator\n",
    "from typing import List\n",
    "\n",
    "import os\n",
    "import json\n",
    "import gensim\n",
    "import numpy as np\n",
    "import pathlib\n",
    "import tensorflow as tf\n",
    "from tensorflow.keras.preprocessing.sequence import pad_sequences\n",
    "\n",
    "\n",
    "class Processor(object):\n",
    "\n",
    "    def __init__(self):\n",
    "        self.token2idx = {}                          # token 索引字典\n",
    "        self.token2count = collections.OrderedDict() # token 词频表\n",
    "        self.label2idx = {}                          # 标签索引词典\n",
    "        self.idx2label = {}                          # 索引索引字典\n",
    "\n",
    "    def build_token_dict(self, corpus: List[List[str]]):\n",
    "        \"\"\"\n",
    "        构建 token 字典，这个方法将会遍历分词后的语料，构建一个标记频率字典和标记与索引的映射字典\n",
    "        Args:\n",
    "            corpus: 所有分词后的语料\n",
    "        \"\"\"\n",
    "        token2idx = {\n",
    "            '<PAD>': 0,\n",
    "            '<UNK>': 1\n",
    "        }\n",
    "\n",
    "        token2count = {}\n",
    "        for sentence in corpus:\n",
    "            for token in sentence:\n",
    "                count = token2count.get(token, 0)\n",
    "                token2count[token] = count + 1\n",
    "        # 按照词频降序排序\n",
    "        sorted_token2count = sorted(token2count.items(),\n",
    "                                    key=operator.itemgetter(1),\n",
    "                                    reverse=True)\n",
    "        self.token2count = collections.OrderedDict(sorted_token2count)\n",
    "\n",
    "        for token in self.token2count.keys():\n",
    "            token2idx[token] = len(token2idx)\n",
    "        self.token2idx = token2idx\n",
    "\n",
    "    def build_label_dict(self, labels: List[str]):\n",
    "        \"\"\"\n",
    "        构建标签索引映射字典\n",
    "        Args:\n",
    "            labels: 所有语料对应的标记\n",
    "        \"\"\"\n",
    "        label2idx = {}\n",
    "        for label in labels:\n",
    "            if label not in label2idx:\n",
    "                label2idx[label] = len(label2idx)\n",
    "        self.label2idx = label2idx\n",
    "        self.idx2label = dict([(index, label) for label, index in label2idx.items()])\n",
    "\n",
    "    def convert_text_to_index(self, sentence: List[str]):\n",
    "        \"\"\"\n",
    "        将分词后的标记（token）数组转换成对应的索引数组\n",
    "        如 ['我', '想', '睡觉'] -> [10, 313, 233]\n",
    "        Args:\n",
    "            sentence: 分词后的标记数组\n",
    "        Returns: 输入数据对应的索引数组\n",
    "        \"\"\"\n",
    "        token_result = []\n",
    "        for token in sentence:\n",
    "            token_result.append(self.token2idx.get(token, self.token2idx['<UNK>']))\n",
    "        return token_result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "processor = Processor()\n",
    "processor.build_token_dict(list(train_df.cutted) + list(test_df.cutted))\n",
    "processor.build_label_dict(list(train_df.label) + list(test_df.label))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[30, 410, 27, 101]\n"
     ]
    }
   ],
   "source": [
    "query_idx = processor.convert_text_to_index(['今天', '东莞', '天气', '如何'])\n",
    "print(query_idx)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[   0    0    0    0    0    0    0    0    0    0    0   30  410   27\n",
      "   101]\n",
      " [   0    0    0    0    0    0    0    0   49 1159    9 1160 1161    6\n",
      "    59]\n",
      " [   0    0    0    0    0    0    0    0    0    0    0 1162    6 1163\n",
      "     7]\n",
      " [   0    0    0    0    0    0    0    0    0    0    0    0    6  138\n",
      "  1164]\n",
      " [   0    0    0    0    0    0    0    0    0    0    0    0    0  711\n",
      "     8]]\n",
      "[0 1 2 3 4]\n"
     ]
    }
   ],
   "source": [
    "# 分词后的 query 转换为对应的索引数组\n",
    "train_x = [processor.convert_text_to_index(query) for query in list(train_df.cutted)]\n",
    "test_x  = [processor.convert_text_to_index(query) for query in list(test_df.cutted)]\n",
    "\n",
    "# 补全序列到统一长度\n",
    "train_x = pad_sequences(train_x, maxlen=15)\n",
    "test_x  = pad_sequences(test_x, maxlen=15)\n",
    "\n",
    "# 标签转换为对应的索引\n",
    "train_y = np.array([processor.label2idx[label] for label in list(train_df.label)])\n",
    "test_y  = np.array([processor.label2idx[label] for label in list(test_df.label)])\n",
    "\n",
    "print(train_x[:5])\n",
    "print(train_y[:5])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## 11.2 双向 LSTM 网络"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_1\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "embedding_1 (Embedding)      (None, 15, 100)           349200    \n",
      "_________________________________________________________________\n",
      "bidirectional_1 (Bidirection (None, 128)               84480     \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 64)                8256      \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 31)                2015      \n",
      "=================================================================\n",
      "Total params: 443,951\n",
      "Trainable params: 443,951\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train on 1954 samples, validate on 345 samples\n",
      "Epoch 1/20\n",
      "1954/1954 [==============================] - 5s 3ms/sample - loss: 3.0754 - accuracy: 0.1975 - val_loss: 2.7591 - val_accuracy: 0.2319\n",
      "Epoch 2/20\n",
      "1954/1954 [==============================] - 1s 509us/sample - loss: 2.3725 - accuracy: 0.3362 - val_loss: 2.1966 - val_accuracy: 0.4058\n",
      "Epoch 3/20\n",
      "1954/1954 [==============================] - 1s 488us/sample - loss: 1.6473 - accuracy: 0.5435 - val_loss: 1.6165 - val_accuracy: 0.5565\n",
      "Epoch 4/20\n",
      "1954/1954 [==============================] - 1s 518us/sample - loss: 1.0360 - accuracy: 0.7108 - val_loss: 1.3756 - val_accuracy: 0.6261\n",
      "Epoch 5/20\n",
      "1954/1954 [==============================] - 1s 486us/sample - loss: 0.6298 - accuracy: 0.8449 - val_loss: 1.1321 - val_accuracy: 0.7275\n",
      "Epoch 6/20\n",
      "1954/1954 [==============================] - 1s 534us/sample - loss: 0.3775 - accuracy: 0.9150 - val_loss: 1.0495 - val_accuracy: 0.7333\n",
      "Epoch 7/20\n",
      "1954/1954 [==============================] - 1s 496us/sample - loss: 0.2111 - accuracy: 0.9621 - val_loss: 1.0264 - val_accuracy: 0.7420\n",
      "Epoch 8/20\n",
      "1954/1954 [==============================] - 1s 498us/sample - loss: 0.1207 - accuracy: 0.9831 - val_loss: 1.0308 - val_accuracy: 0.7681\n",
      "Epoch 9/20\n",
      "1954/1954 [==============================] - 1s 499us/sample - loss: 0.0834 - accuracy: 0.9903 - val_loss: 1.0695 - val_accuracy: 0.7710\n",
      "Epoch 10/20\n",
      "1954/1954 [==============================] - 1s 510us/sample - loss: 0.0498 - accuracy: 0.9964 - val_loss: 1.1076 - val_accuracy: 0.7623\n",
      "Epoch 11/20\n",
      "1954/1954 [==============================] - 1s 516us/sample - loss: 0.0327 - accuracy: 0.9985 - val_loss: 1.0877 - val_accuracy: 0.7826\n",
      "Epoch 12/20\n",
      "1954/1954 [==============================] - 1s 485us/sample - loss: 0.0220 - accuracy: 0.9990 - val_loss: 1.1733 - val_accuracy: 0.7565\n",
      "Epoch 13/20\n",
      "1954/1954 [==============================] - 1s 492us/sample - loss: 0.0180 - accuracy: 0.9990 - val_loss: 1.1389 - val_accuracy: 0.7710\n",
      "Epoch 14/20\n",
      "1954/1954 [==============================] - 1s 510us/sample - loss: 0.0167 - accuracy: 0.9990 - val_loss: 1.2582 - val_accuracy: 0.7449\n",
      "Epoch 15/20\n",
      "1954/1954 [==============================] - 1s 502us/sample - loss: 0.0158 - accuracy: 0.9985 - val_loss: 1.1853 - val_accuracy: 0.7797\n",
      "Epoch 16/20\n",
      "1954/1954 [==============================] - 1s 528us/sample - loss: 0.0121 - accuracy: 0.9995 - val_loss: 1.1543 - val_accuracy: 0.7826\n",
      "Epoch 17/20\n",
      "1954/1954 [==============================] - 1s 521us/sample - loss: 0.0076 - accuracy: 0.9995 - val_loss: 1.2208 - val_accuracy: 0.7623\n",
      "Epoch 18/20\n",
      "1954/1954 [==============================] - 1s 502us/sample - loss: 0.0056 - accuracy: 1.0000 - val_loss: 1.1904 - val_accuracy: 0.7971\n",
      "Epoch 19/20\n",
      "1954/1954 [==============================] - 1s 507us/sample - loss: 0.0046 - accuracy: 1.0000 - val_loss: 1.2856 - val_accuracy: 0.7652\n",
      "Epoch 20/20\n",
      "1954/1954 [==============================] - 1s 502us/sample - loss: 0.0040 - accuracy: 1.0000 - val_loss: 1.2524 - val_accuracy: 0.7884\n",
      "test loss: 1.2395111430775037, test accuracy: 0.7649350762367249\n"
     ]
    }
   ],
   "source": [
    "L = tf.keras.layers\n",
    "\n",
    "model = tf.keras.Sequential([\n",
    "    # 使用 Embedding 层做词嵌入，输入维度等于词表词数量\n",
    "    L.Embedding(input_dim=len(processor.token2idx),\n",
    "                output_dim=100,\n",
    "                input_shape=(15,)),\n",
    "    # 双向 LSTM\n",
    "    L.Bidirectional(L.LSTM(64)),\n",
    "    # 全连接层\n",
    "    L.Dense(64, activation=tf.nn.relu),\n",
    "    # 最后一个全连接层输出维度等于标签数量\n",
    "    L.Dense(len(processor.label2idx), activation=tf.nn.softmax)\n",
    "    ])\n",
    "\n",
    "model.compile(optimizer='adam',\n",
    "              loss='sparse_categorical_crossentropy',\n",
    "              metrics=['accuracy'])\n",
    "model.summary()\n",
    "\n",
    "hist = model.fit(train_x,\n",
    "                 train_y,\n",
    "                 validation_split=0.15,\n",
    "                 epochs=20)\n",
    "\n",
    "test_loss, test_acc = model.evaluate(test_x, test_y, verbose=0)\n",
    "print(f'test loss: {test_loss}, test accuracy: {test_acc}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "def visualize_train_process(history: tf.keras.callbacks.History,\n",
    "                            title: str):\n",
    "    plt.figure()\n",
    "    # 设定子图大小\n",
    "    plt.subplots(figsize=(10,4))\n",
    "    for index, target in enumerate(['accuracy', 'loss']):\n",
    "        plt.subplot(1, 2, index + 1)\n",
    "        plt.plot(history.history[target], label=target)\n",
    "        plt.plot(history.history[f'val_{target}'], label=f'val_{target}')\n",
    "        plt.legend()\n",
    "        plt.title(f'{title} {target}')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1080x720 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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JOb+hBc8By9Ho4iIiIiIiIjUg2agi4iItDJmlou3kGo6Xr7I8Xh54BcB/cPkeBQRERERERGRMLSIqIiISOtzIvBsrWOlwMUKnouIiIiIiIjUn1K4iIiItG7rgdeBwc65z+LdGREREREREZGWRClcRERERERERERERETC0Ax0EREREREREREREZEwFEAXEREREREREREREQlDAXQRERERERERERERkTAUQBcRERERERERERERCUMBdBERERERERERERGRMBRAFxEREREREREREREJQwF0EREREREREREREZEwkuLdgZbCzFy8+yAiIiIiseOcs3j3QZqW7vFFREREWrfGuMfXDHQRERERERERERERkTA0A72BnNMkFREREZHWxEwTz/d0uscXERERaV0a8x5fM9BFRERERERERERERMJQAF1EREREREREREREJAwF0EVEREREREREREREwlAAXUREREREREREREQkDAXQRURERERERERERETCUABdRERERERERERERCQMBdBFRERERERERERERMJQAF1EREREREREREREJAwF0EVEREREREREREREwkiKdwdERERERERERERk15WVlVFYWEhJSQlVVVXx7o5Io0hISKBNmza0a9eOlJSUuPXDnHNx+/CWxMwcgL4vERERkdbFzABwzlmcuyJNTPf4IiLS0jnnWL9+PQUFBfHuikhMtW/fni5dugTv3evSmPf4moEuIiIiIiIiIiLSAtUOnicnJ5OUlFTvIKNIc+Wco6KigvLycoDg7/nee+/d5H1RAF1ERERERERERKSFKSsrCwYVU1JSyM3NJTU1VcFzaTWcc5SWlvLjjz8Gf9+zs7ObPJ2LFhEVERERERERERFpYQoLC4Pbubm5pKWlKXgurYqZkZaWRm5ubvBYUVFRk/cjJgF0M0s3s5PM7C9m9qqZrTQz578mNNJn7GVm95jZf82sxMw2m9lMM7vU9K+FiIiIiIiIiIi0YiUlJYCXtiU1NTXOvRGJndTUVJKTkwHYvn17k39+rFK4HA68HaO2MbNBwHtAtn9oG5AJDPVfZ5vZqc65slj1QUREREREREREJF6qqqoAlPNcWj0zIykpifLy8uDvfVOKZQqXLcCHwP8Bo4D1jdGomWUBb+IFzxcBhznnMoEM4CqgHBgO3N8YnyciIiIiIiIiItJcKXgue4J4/p7Hagb6TOdcx9ADZvb/Gqnt64EuQAkw0jm3HMCfbf6ImbUD/gZcbmb3O+cWN9LnioiIiIiIiIiIiMgeJCYz0J1zlbFo1zfGf58aCJ7X8hBeSpdEYHQM+yEiIiIiIiIiIiIirVgsU7g0OjPbD+jh774Troxzbhsw098d1hT9EhEREREREREREZHWJ1YpXGKlf8j2gijlFgAnAQfEtjsiIiKyJ3POUVnlqHJQFdx2VFVBpQtsO38bbztQxjkqq2rVc4S04ddr+jVymo1uHdrQKycj3t0QaTTOORZv2MbMJT/RJSuNkw/uGu8uiYiIiEgdWloAPfQO88co5QLn2plZW39WuoiINBLnHKUVVZSUVVJSXsn2skp2+O/byyrYUV5JZSCAWOXqCBBSXSZYnrBBxuqAol+mRvtemT2RGSSYkWhGQoKRYJCYYCSY90pMwD9eq0xw2y8TLF+/MlXOUVHpKK+sorzSUVHlvZdXVlFRGbJdFShT5ZcPlPXrhS0bOF7ddkWlo6yyiqqq+PycHewUHN9Df+WazG+O3Ycbhu8f726INIotxWUMu//f/FRUCsDgPh0VQBcREWkmxo0bx6RJkxg7diwTJ06Md3ekmWlpAfTMkO3tUcqFnsvEy4kelZlpCCwirUpllaOwpJzt5ZVeoNsPbpeUB7Yrw2xXBAPiocHxmttemTjFMEVERFqkDhkppCVXZ9D8z8otbC+rID2lpQ3JRERERPYsulsTEWmhKqscG4t2sGZLCWu2bGfN5hJvu2A7a7aUsLaghPJKRblFRESai6F9c3hx7moAyisdc5Zv5tj9Ose5VyIiIiISTUsLoBeFbKcDhRHKpUeoE5FzzqKd1wx1EWlqlVWODYUhAfIa7yWs26oAubQ+iQlGcqKRnJBAUqKRnJhAcmL1dlKClz7Gov5fO3ZqpLkJpM4JpMtJMBL9Y952dV8T/X3zU+F4x2uVCW77ZYLljThdbtwN6tUh3l0QaVRD+3YKBtABZi/ZpAC6iIiISDPX0gLoa0O2c4kcQM/13wuV/1xEmqvKKsf6wh2s2VwdFP+xoHp7bUEJFc0gT0pKYgJpyQmkpySRnpJIWnIi6SmJtElJpE2N7STapHjl0pITSUqoDiImGHUEFL2AYfSAYqC8XzdCAHNPCzQ6vJz0YRet3GmByjD55KMsbFldl5DyLlg+IcFISkjwAt6JoQFv73hSopGSmECSH/hOSfLeawTFExJITvLL+78zIiKt1VH7ZGNGcP2EWUs3xbdDIiIiIlKnlhZAXxCy3R/4PkK5/v77d7HtjohIZM45fioqZUX+dlZvrjWDvGA76wp2xCxA3jEjhW4d2rBXuzTapiYFg96hAfDq7STaJHtB8PSQoHhaSiLpyYkkJSbU/YEiItLqmdmhwCnAIGBfoBPQDm9SyyLgbeBR59zm3fiMvYA/ACcDPYASYCEwCXjauZa9dG+HjBT6d83i2x+3ArBofREbi3bQOTMtzj0TERGRaD755BMeeeQR8vLy2LRpE5mZmQwYMIALLriAMWPGkJiYGLbenDlzePDBB8nLy2PdunUkJiaSk5NDr169OOGEE7jooovo1q1bjTqLFi3i3nvv5ZNPPmHNmjVUVVXRqVMncnNzOe644xgzZgz7779/U1y2+FpaAH0xsArvZnoE8FLtAmaWARzt777fdF0TkT2Rc44t28tZvqmY5ZuKWbGpmOX53vuKTcUUl1XG5HMDAXLvlV5jO7d9GzJSW9o/7yIi0gJcDPwmZH8HXoC7I3CU/7rWzE51zn3W0MbNbBDwHpDtH9oGZAJD/dfZfttlu34J8Te0X04wgA6QtzSf0wfmRqkhIiIi8XTddddx3333Ad5T01lZWRQUFPDRRx/x0UcfMXnyZF577TUyMzNr1Js0aRIXXXQRgb//p6amkpSUxKpVq1i1ahX//ve/6d69O+PGjQvWmTFjBqeccgqlpaUAJCcnk5GRwZo1a1izZg1z5swhJSWFCRMmNMm1i6dFRVicc87MngP+ApxnZrc751bUKvYboC1QCbzQxF0UkVZqa0m5FxTPL64ZLN9UTOGOikb/vOyMFHIVIBcRkeZlLrACmAUscs4VAJhZW+BM4G68Wemvmdm+zrmtkRqqzcyygDfxgueLgAudc1+aWQpwGXAfMBy4H7iy0a4oDo7um8Ojn/wQ3J+5ZJMC6CIiIs3Uww8/HAyeX3755fz1r3+lS5cuFBcX8+STT3LDDTfw0UcfcdlllzF16tRgve3bt3P11VfjnOOCCy5gwoQJ7LPPPgAUFxezaNEipk2bRufONddCGT9+PKWlpQwbNox77rmH/v29JBs7duzghx9+4JVXXqFHjx5NdPUSELMIjJl1AEKfXwjkAEg3s5yQ4ztC85Sb2QTgVn+3d5gA+d3ApUAX4C0zG+Oc+49/c30JcLtf7gnn3OJGuRgR2SMUl1YEA+RecHx7cH9zceNOdssOziBP32kmeW6HNqSnKEAuIiLNi3PuuQjHtwHPmdl6vBnknfFSsDRkMsv1ePf3JcBI59xyv+0y4BEzawf8DbjczO5vyff5h/bsQGpSAqUVVQDMWvoTzjksXqsji4hIq3b2o3ms27oj3t1oVHtnpfHy+KNi/jklJSXceqsXohw1ahSPP/548FxGRgbXXnstiYmJXHPNNUybNo0bbriBQYMGAbBgwQKKiorIyMjg2WefJSkpqUbdQYMGBcsGbKRvgegAACAASURBVNy4kR9+8P7IPnHiRPbee+/gubS0NA488EAOPPDAmF2vRBbLCM1XQM8wx2/wXwGTgHH1bdQ5t9XMTsa7OT8A+NLMioA0INkv9j7wu13os4i0cjvKK1mZv90LkvupVpb5AfONRaWN9jnJiUb3jun0zs6gV04GPbPT6a4AuYiItG6fh2x3i1gqvDH++9RA8LyWh4A/4z1pOprqCTctTlpyIof37sjMJd4CohsKS/nhp2307ZxZR00REZGGW7d1Bz8WlMS7Gy3SjBkz2LzZW9olUsqUK6+8kjvvvJN169YxZcqUYFC8ffv2AJSVlZGfn89ee+1V5+dlZmaSkJBAVVUV69atqxFAl/hqkREcf8b5gcAf8Wa3dAeK8RYZnQQ845yrimMXRaQZ+eGnbTz/2UpmfLeBtVtLaKzlxxIMundMp1d2Br1zMuiVnU6vnAz65LSla/s0Lb4pIiJ7mqNDtn+IWKoWM9sPb40jgHfClXHObTOzmcBJwDBacAAd4Oh+OcEAOnhpXBRAFxERaV6+/PJLALp3786+++4btkxiYiLHHXccL7zwQrA8wD777MP+++/PokWLOOKIIxg/fjzDhw/noIMOirjgaJs2bTj++OOZMWMGI0aM4IorruCXv/wlAwcOJCUlpfEvUOotZgF051yvXaw3AZhQj3IbgOv8l4hIDZVVjk/+u5GJeStqDFAbygy6ZrXxAuQ5IcHynAy6d0gnJUlBchER2XOZWSqwN96kltv8w0uBNxrQTP+Q7QVRyi3AC6Af0JA+NkdD+ubU2J+1ZBMXDekdp96IiEhrtndWWry70Oia6po2btwIQG5u9LVKunXrVqM8eIH1qVOncsYZZ7B8+XJuvPFGbrzxRtLT0znqqKM488wzGTt2LOnp6TXaeuqppzj11FOZP38+t99+O7fffjspKSkcdthhnHbaaVxyySV07Nixka9U6tIiZ6CLiESytaScl75czXOfrWTV5u31rrdXu9RgcDwQIO+dk0GPjumkJYf/67CIiMieysx2AKlhTs0GznfONSQvWteQ7R+jlAuca2dmbUPXUWppftalHdkZKeT7a6x8viyf8soqkvX0moiINLKmyBUu4Q0YMIBFixbx5ptv8t5775GXl8fChQv54IMP+OCDD7jzzjt56623OOigg4J1evTowbx585gxYwZvv/02s2fPZv78+cyePZvZs2dz55138vLLL3PcccfF8cr2PAqgi0ir8N/1RUz6bAX/nPcjJeWVYcskJRgDurevDpIHZ5OnKye5iIhIw6zHW4OoLZDhH/sY+INzblUD2wrNXRLtr9+h5zKBOgPoZtZIidsaV0KCMaRvDq/PXwtAcVklX68u4LBemlEmIiLSXHTu3BmANWvWRC0XOB8oHyolJYUzzzyTM888E4D8/Hxefvll/vznP7N69WrGjh3LvHnzatRJSEhg+PDhDB8+HICioiLeeOMN/vSnP7Fq1SrOP/98Vq1apbQuTUgRIxFpsSoqq/jg+41MylvBZ8vyI5bLaZvK6CN6MPqIHnRu1/oeXxMREWlqoekazawzcCFwEzDXzO5wzt0Sr761FENDAujg5UFXAF1ERKT5+PnPfw54AfLFixeHzYNeWVnJxx9/DMBhhx1WZ5vZ2dn8+te/JjExkcsuu4yvvvqK/Px8srOzI9bJzMzk/PPPp3Pnzpx44ols2LCBb7/9NrhgqcSeAugi0uJsKS5j6hermfz5yqiriQ/s0Z5xR/XipP57K1e5iIhIjDjnNgL3+It8fgbcbGZznXNv1rOJopDtdKAwQrnQJKFFEcrU7ptFOx/PGepD+9XOg/4T150YfoEyERERaXonnngi2dnZ5OfnM2HCBKZMmbJTmccff5y1a70/iI8aNSp4vLS0lNTUcNnuPG3atAluJyR48YqysrKos8rD1ZGmoW9bRFqMhWu38oeX5zP4zg+5691FYYPnKYkJnHloLq9fNYR/XjmE0w7JVfBcRESkCTjn5gKz/N3LG1B1bch2tFW6AucKW3L+84Cu7dvQp1NGcH/+mq0U7iiPY49EREQkVJs2bZgwYQIAL774IldccQUbNmwAYPv27Tz44INce+21AJx77rk1ZoRPnTqVIUOG8Pjjj7Ns2bLg8crKSt577z1uvPFGAI488kg6dOgAQF5eHgcffDD33Xcf33//PVVVVQA458jLy2P8+PGAt2jpwQcfHNuLlxo0A11EmrXyyireW7ieSXkr+GLFlojl9mqXygVH9GTUET3IaRv5r7wiIiISU4GFPvs2oM6CkO3+wPcRyvX3379raKeaq6F9c1j2UzEAlVWOz3/IZ9iBXeLcKxEREQm46qqrWLZsGffddx+PP/44TzzxBO3bt6eoqIiKigoAjj32WJ588ska9QJB77y8PABSU1Np27YtW7ZsCQbGu3btyjPPPFOj3rfffst1113HddddR3JyMu3atWPr1q3Bz2rXrh1TpkwhMTEx1pcuIRRAF5FmadO2Ul6cs4oX5qxifeGOiOUO69WBsUf1YviBXUhO1ExzERGROOvjv9crxYpvMbAK6AGMAF6qXcDMMoCj/d33d6eDzcnQvjk899nK4P6spZsUQBcREWlm7r33Xk455RQeeeQRZs+eTX5+PpmZmRxyyCFceOGFjBkzZqeA9qmnnspzzz3Hxx9/zLx581i3bh2bN28mMzOT/fbbj1NOOYWrrrqK9u3bB+scdthhTJ8+nY8//pi5c+eydu1aNm3aRFpaGn379mXYsGH89re/pWvXrk39FezxzLlmuTB9sxPIj6jvSyS25q8uYFLeCt78Zh1llVVhy6QmJXDaIV0Zc2Qv+udmNXEPRUSktTHz0mTXlS97T2ZmiUCVi3IzbGbHAzMAA/7unPtjA9q/HfgLsB040Dm3otb5PwB3AZXAAc65xQ2+iPCfG9d7/MId5Qy8bQaVVd7n9+mUwUe/PyYufRERkZZn5cqVbN++nfT0dHr27Bnv7ojEVEN/3xvzHl8z0EUk7soqqnhnwTom5q3gq1UFEcvltm/DBYN7ct5h3emQEXlhDREREWl03YHXzOxRvCD58kAw3cy6A6PxAuAGbAbuC61sZhOAW/3d3rUD5MDdwKVAF+AtMxvjnPuPmaUAlwC3++WeaKzgeXPQLi2ZAd2ymOff/yz7qZi1BSV0bd+mjpoiIiIi0lQUQBeRuNlYuIMX5qxiytxV/FRUGrHckX2yGXtUL074WWeSlKZFREQkXgYAj/nbZWZWCLQBMkLKLAfOcs6tb0jDzrmtZnYy8B5wAPClmRUBaUCyX+x94He70f9maWi/TsEAOsCsJZs457DuceyRiIiIiIRSAF1EmpRzjnmrvDQtb3+7joqq8I9Mt0lO5IxDcxl7ZC/265LZxL0UERGRWtYCvwKOAY4AugI5eClVVgHzgX8BU5xzJbvyAf6M8wOBPwIn4816L8ZbZHQS8IxzLnx+txbs6H45PPjhkuD+rKUKoIuIiIg0Jwqgi0iTWb15O7+b9jVfrtwSsUz3jm0YM7gX5/y8O1npyRHLiYiISNNxzpUBL/uvXak/AZhQj3IbgOv81x7hkO7tyUhJpLisEoDZSzdRVeVISFBKfhEREZHmQAF0EWkSy37axuin5rBu646w54/ul8PYI3tx7P6dSdSAUURERPYQyYkJDO6TzYeLNgKQX1zG9+sLObCrFkoXERERaQ4UQBeRmFu0vpALnprLpm0185xnpCRy1qBujDmyF307t41T70RERETia2i/nGAAHbxZ6Aqgi4iIiDQPCqCLSEx9s6aAMc/MpWB7efBYUoLxhxH7MerwHmSmKU2LiIiI7NmG9s2psT9zySYu/8U+ceqNiIiIiIRSAF1EYuaLFZu56Nkv2FZaETyWkpTAYxccynH77xXHnomIiIg0H307t2WvdqlsKPSe1pu7fDM7yitJS06Mc89EREREJCHeHRCR1mnWkk2MeXpujeB5ekoiE8cdpuC5iIiISAgzY2jfTsH90ooq5kVZdF1EREREmo4C6CLS6D74bgMXT/qCkvLK4LHM1CSev+Rwjqr1iLKIiIiIeAuqh5q5dFOceiIiIiIioRRAF5FG9eY3a7li8n8oq6gKHuuQnsyLlw9mUM+OceyZiIiISPN1VN/sGvuzliiALiIiItIcKIAuIo3m5f+s4ZoXv6KiygWPdcpMZerlR9I/NyuOPRMRERFp3jpnprF/l8zg/oK1W9lSXBbHHomIiIgIKIAuIo3k+c9WcP1L8wmJndM1K43pvz6S/UIGgyIiIiIS3tCQVHfOQd4P+XHsjYiIiIiAAugi0gie+PcP3PyvhTWO9cxOZ/oVR9I7JyNOvRIRERFpWYbUyoM+a+lPceqJiIiIiAQkxbsDItJyOee4/4MlPPDhkhrH+3ZuywuXHsFe7dLi1DMRERGRlueI3h1JSUygrNJbS2aWFhIVERERiTvNQBeRXeKc4853Fu0UPD9g73ZMu3ywguciIiIiDZSeksShPdsH91dvLmFlfnEceyQiIiIiCqCLSINVVTlu/tcCnvj3shrHB/Zoz4uXDya7bWqceiYiIiLSsoXmQQeYuUSz0EVERFqrcePGYWaMGzdut9tasWIFZoaZsWLFit1uT6opgC4iDVJRWcX1L89n8uerahwf3Kcjz19yBFltkuPUMxEREZGWb2i/TjX2ZyuNi4iIiEhcKYAuIvVWVlHFb6d+zavzfqxx/Jj9OjHxosNpm6plFURERER2x0G5WbRLq76nyvshn8oqF8ceiYiIiOzZFEAXkXrZUV7JFZP/w1vfrqtxfMSBXXj8wkGkJSfGqWciIiIirUdignHUPtVpXLaWlPPtj1vj2CMRERGRPZsC6CJSp+1lFVwy6Qs+WrSxxvHTD+nKw+cPJDVJwXMRERGRxjK0X8086ErjIiIiIhI/CqCLSFSFO8oZ8/RcZi/Nr3F81OHdueecQ0hK1D8jIiIiIo3p6H61FxL9KU49ERERaf02btxIcnIyZsbrr78etewtt9yCmdG3b9/gseXLl3PXXXcxYsQI9t13XzIyMmjbti0HHHAA1157LatWrYrSYtPaunUrt912G4ceeijt2rWjTZs29OvXj/Hjx7Ns2bKI9UpKSrj77rs58sgj6dChA8nJyXTq1IkDDjiAsWPH8sorr+xUp6KigieeeIJjjjmGnJwckpOTyc7OZr/99uPcc8/l6aefjuWlNiolLBaRiLYUlzHmmbk7PTZ80ZBe3HLyAZhZnHomIiIi0nr16JhOtw5tWLOlBID/rNzC9rIK0lM0fBMREWlsnTt3Zvjw4bz11ls8//zznHrqqWHLOeeYPHkyABdeeGHw+EUXXcSnn34KQEpKCpmZmWzZsoXvv/+e77//nokTJ/Lmm28ydOjQ2F9MFAsXLmTEiBGsWbMGgLS0NJKTk1m6dClLly7l2Wef5YUXXuCss86qUa+oqIijjz6a+fPnA2BmZGVlUVBQwKZNm/j+++/59NNPa9SrrKxk5MiRzJgxI3gsKyuL4uJiNm/ezOLFi5k+fTqXXHJJE1z57tPUUREJa2PRDs574vOdgudXHdtXwXMRERGRGDKzGrPQyysdc5dvjmOPREREWrcxY8YA8MYbb1BQUBC2zOzZs1m+fDlmViOAfsghh/DII4+wePFiSkpK2LRpE6WlpcyZM4cRI0awdetWzj33XEpKSprkWsIpKirilFNOYc2aNeTm5vLWW29RXFxMYWEhX3/9NYMHD6a0tJTRo0cHA+UBDzzwAPPnz6djx4688sorlJSUsGXLFkpLS/nxxx957rnnGDZsWI06L774IjNmzCAtLY2nnnqKoqIiCgoKKCkpYcOGDbz66qucffbZTfkV7BZNYRCRnawtKGH0U3NYvqm4xvEbhu/Hb47tG6GWiIiIiDSWoX078eLc1cH9WUs2ccx+nePYIxERaZGeHg6Fa+Pdi8bVritc8l6jNnnqqaeSlZXF1q1bmT59OpdffvlOZZ5//nkAhgwZQp8+fYLH77///p3KJiUlcfjhh/Pmm29y6KGH8s033/DKK69wwQUXNGq/6+sf//gHy5cvJzk5mXfffZf+/fsHzw0YMID333+fgw8+mBUrVnDTTTfx5ptvBs/n5eUBcP3113PmmWcGjyckJNC1a1cuvPDCGn9QCK0zZsyYGrPMzYzOnTtzxhlncMYZZ8TkWmNBAXQRqWFlfjHnPzmHHwtq/mX01lMO4KIhvePUKxEREZE9y1H7ZGMGznn7s7SQqIiI7IrCtbC1+eTgbq7S0tL41a9+xVNPPcXzzz+/UwC9tLSU6dOnA+wULI4mMTGRESNG8M033zBr1qy4BdCnTZsGwNlnn10jeB6QmZnJH/7wB6688kreeecdtm7dSlZWFgDt27cHYN26dfX+vECd9evX727XmwWlcBGRoKUbi/jVY5/VCJ6bwV1nHaTguYiIiEgT6pCRQv+uWcH9ReuL2Fi0I449EhERad0CaVwCqVpCvfnmmxQUFJCWlsY555yzU92ZM2cybtw49t9/f9q2bYuZBV9///vfAYK5x5taWVkZ33zzDQAnnHBCxHInnngiAFVVVcybNy94/OSTTwbg4YcfZtSoUbz22mts2hT9D/sjR44MLsp60kkn8eKLL7J2bct9EkIz0EUEgIVrtzLm6bnkF5cFjyUmGPeeM4DTDsmNY89ERERE9kxD++XUWI8mb2k+pw/UfZmIiDRAu67x7kHji9E1DR06lN69e7N8+XImT57MzTffHDwXSN9yyimnBGdXB/zxj38MBsnBm3XeoUMHUlJSANi2bRvFxcUUF9dMk9tUNm/eTGVlJQC5uZHvI7p16xbc3rhxY3D7/PPPZ+7cuTz00ENMnTqVqVOnAtC3b1+GDRvGxRdfzKBBg2q0NXToUO666y7+8pe/8O677/Luu+8GP+OEE05gzJgxHHvssY12jbGmALqI8NWqLYx9Zi6FOyqCx1ISE3jo/IEMP7BLHHsmIiIisuca2jeHRz/5Ibg/c8kmBdBFRKRhGjlXeGsWWBz0tttu4/nnnw8G0PPz83n77beBndO3zJgxIxg8v/LKKxk/fjw/+9nPSExMDJa5+eabueOOO3CBvGwt0P33389VV13FSy+9xMyZM/nss89YunQpS5cu5R//+Ae//e1vd8oFf8MNNzB69GimT5/Op59+Sl5eHmvWrGHixIlMnDiRs88+mylTppCcnBynq6o/pXAR2cN9viyfC56aUyN4npqUwJNjf67guYiIiEgcDerZgdSk6iHb7KWbWvTgW0REpLkLBMiXLFnC559/Dnj5w8vLy+nUqRMnnXRSjfKB2djDhw/nkUceoX///jWC5xD/POAdO3YM9ilaGpnQc50777xwed++ffnTn/7E22+/TX5+Pp999hmnn346AA888ACvv/76TnW6du3Ktddeyz//+U82bNjAN998w6WXXgrAyy+/zKOPPrpb19ZUFEAX2YN98t+NjH1mLsVllcFjGSmJTLr4cP5n305x7JmIiIhIK1RZAT98BK9fDfOn1lk8LTmRw3t3DO6vL9zBDz9ti2UPRURE9mh9+/blyCOPBKrTtgTeR40aRVJSzWQeq1evBmDgwIFh23PO8dFHH8Wqu/WSkpLCwQcfDMCHH34YsdwHH3wAQEJCAoceemjUNhMSEhg8eDAvv/wyPXr0ALzZ+HU56KCDePLJJxkyZEi96zQHCqCL7KHeXbCey577ktKKquCxdmlJTL70CAb3yY5jz0RERERaoYLVcHc/eP4MmPccfDW5XtWG9s2psT9zSfRFu0RERGT3BBYTnTZtGgsXLgzORA8cD5WV5S34PX/+/LBtPfbYYyxbtixGPa2/8847D/BmfS9YsGCn89u2bQumohk5cmTwugBKS0sjtpuYmBjM9Z6QUB1mjlYHoE2bNjvVac5aRi9FpFG99c06fjNlHuWV1Y8AZ2ekMPXyIxnYo0MceyYiIiLSSmV1g5S21fsrZkHRhjqrDe1XM4A+e6kC6CIiIrF07rnnkpKSQn5+PuPGjQPggAMO2GmhTIARI0YA8M4773D77bcHFwotKCjgb3/7G1dffTXZ2fGfpDh+/Hh69+5NeXk5J510Eu+88w5VVd6Eym+//Zbhw4ezfPlyUlNTueOOO2rUPeKII7jmmmv45JNPaiyEunbtWq6++mqWLl0KeIH3gNNPP52LL76Yd955h4KCguDxzZs3c8cddwRnwv/yl7+M2TU3JgXQRfYwy37axvUvzaeyqjp4vle7VKb9ejAHdG0Xx56JiIiItGJmcODpIQccfL9zrtDaftalHdkZKcH9z5dtpryyKkoNERER2R0dOnTg5JNPBuDLL78Edl48NGDMmDEcffTRANxyyy1kZmbSsWNHsrOzuemmmxgxYgTjx49vmo5HkZmZyeuvv05ubi5r1qxh5MiRZGRkkJWVxcEHH0xeXh6pqalMnjyZAQMG1KhbUFDAQw89xLHHHktmZiYdOnSgbdu25Obm8vDDDwPwu9/9juHDhwfrlJSU8OyzzzJy5Eg6dOhAVlYWWVlZZGdnc/PNN+Oc4+yzzw7mQ2/uFEAX2YOUV1bxu2lfU1JenfO8W4c2vPTro+jbOTOOPRMRERHZAxx4Rs39ha/VWSUhwTgqJI3LttIKvl5dEKWGiIiI7K7QdC0JCQlccMEFYcslJyfz/vvvc+utt7LvvvuSnJyMc47DDz+cRx99lNdff32nRUXjpX///ixcuJAJEyZwyCGHkJSURGlpKfvssw9XXHEFCxcu5Oyzz96p3tSpU/nrX//K8ccfT+/evSkrK6O8vJyePXty7rnn8uGHH3LvvffWqPPQQw9x1113MXLkSPr164dzjpKSErp27cqpp57KK6+8wksvvdRiUrhYLFdxN7NM4PfAWUBvoBJYDEwFHnLOle1G26cClwGHAR2BfGAu8Jhz7p3d7Hq4z3OAVr2XFu3e9//Lgx8tDe5npCTy9m+Ppmd2Rhx7JSIiEl9mBoBzzuLcFWliTX6P7xw8MAAKVgZ6AL9fBJldolab/sVq/vDKN8H9a47vx3Un7hvDjoqISEuwcuVKtm/fTnp6Oj179ox3d0RiqqG/7415jx+zML+Z9QS+AW4F+gMGpAI/B+4GPjezBidbNrNEM5sM/As4GegMbAM6AacCb5vZg41yESKtyH9Wbubhj5fWODbh1AMVPBcRERFpKma1ZqE7+K7uNC5DlAddREREJG5iEkA3syTgDaAXsA440TmXAaQD5wFFwECgfkvP13QHMNrffgDo5JzrCGQB1wMVwNVmds3uXINIa7KttILfTZtPSNpzTurfhbMHdYtfp0RERET2RDXyoAML/1lnldz2beiTUz3p4evVBRTuKG/snomIiIhIGLGagT4WOMjfPss59wGAc67KOTcN+LV/bqSZHV/fRs0sB/idv/uac+5a51y+33axc+4e4B7//F/NTCsiigC3vbGQVZu3B/c7Z6bytzMOCj7OIiIiIiJNZO9DoEOv6v1Vn0Hh2jqrDQ2ZhV5Z5fj8h/wYdE5EREREaotlAB3gY+fcZ2HOTwWW+9tjwpyP5Hi8NDAA/xehzN/99/bA6RHKiOwx3l2wjulfrqlx7O5fDaBDRkqceiQiIiKyB9vFNC5D+yqNi4iISGuXl5dHly5dGvQ688wz493tVi+psRs0s3RgiL8bdjFP55wzs3eB8cCwBjQfmiH+uwhtbzazjXi50YcBzzWgfZFWZUPhDm589dsaxy4a0otf7NspTj0SEREREQ48A2bdV73/3Wsw+IqoVQbvk01iglHp5+SbqQC6iIhIq1NWVsaGDRsaVGfz5s0x6o0ExGIG+s9C2l0QpVzgXBcz67gLn5NYj3MHRSkj0qpVVTmuf2k+Bdur82Puu1db/jhi/zj2SkRERETocjB07FO9X480Lu3SkhnQLSu4v+ynYtYWlMSqhyIiIhIHxxxzDM65Br0++eSTeHe71YtFAL1ryPaPUcqFnusasVRNK0K2+4crYGZdgOwGtouZuWiv+rYj0lw899kKZi6pnpmUnGjcf+5A0pKj/e1JRERERGLODA6olW3yu3/VWW1ov5pPEc7SLHQRERGRmItFAD0zZHt7xFI1z2VGLFXTR0Cpv31ThDKhx7WIqOyRFm8o4s53FtU4dv2w/Tigq/6TEBEREWkWauRBBxb+s84qtfOgz1qiALqIiIhIrMVqEdGYcM5tAh70d080s8lmtr+ZJZtZDzP7f8BvgEDOiqoGtG3RXo18KSIxU1ZRxbVTv6a0ovrXf3Cfjlx6dJ8otURERESkSXU5CDruU72/eg5sXRO5PDCwR3syUqqfJpy9dBNVVXpYVkRERCSWYhFALwrZTo9SLvRcUcRSO/szMNXfHg18D5QBK4E/AnOAp/3zWxrQrkircO+MxXy3rjC4n5mWxD3nHEJigv4OJCIiItJsmO08C/2716NWSU5MYHCf7OB+fnEZi9Y3ZCglIiIiIg0ViwB66Oo3uVHKhZ6LvmJOCOdchXNuFPBLYBqwCC94PhO4BvgF1cH5xfVtV+T/s3ff4XFV197Hv1vVkq1iyZZ7772DK7gAJhQbDCQk5CYEyOVSkhAguWn3hSSX3CRAKoQQAoGEJECCqaEFY8ANcMW9d9myZcuSZRWrzH7/OKNp0sgqU6SZ3+d55pmzztmzzx5LgjNr9lk7Fny09ySPf7jHb9//XjWaXtlpURqRiIiIiATVkjIuQwLKuOwuDOWIRESkHbJWdyNJ7Ivm73k4Eujb8JZOaXChz4BjBdbaouaexFr7hrX2emvtCGttf2vtBdba31prq4HJ7mYrm9uvSHtVUlHNPS98iu9/TxaO78nC8Y19jyUiIiIiUdNtFOQO8caHP4HiQ42+JLAO+jLVQRcRiVsJCU5ar6amRkl0iWnWWmpqagDv730khfyM1tpyYIU7vLShNsYYA8x36B5qvAAAIABJREFUh++E8vzGmAnASHf451D2LdKW3ffKZvKLKzxxz6wO/GhhY99hiYiIiEhUGQOjrvLft/WVRl8yOK8T3TJTPfHq/UVUVteGY3QiItLGpaU5d5tXV1dz9uzZKI9GJHzOnj1LdbWz5GV6emMVw8MjXCn7Z9zPc4wx5zdw/DqgbkXDkCW5jTHpwGPu8J/W2u2h6lukLXtlQz4vb/BWQjIGHv7seLLSkqM4KhERERE5p2aWcTHGMHNwV09cWe1i3QEt/SQiEo8yMzM92/n5+VRWVmomusQUay2VlZXk5+d79mVkZER8HElh6vcZ4BvAGOBFY8yXrbVLjDEJwDXAE+52b1prl/i+0BhzP3CfOxxgrd0fcPx8YB7wMrDbWltljEkB5gI/ASYAh4A7wvHGRNqa/OIKfvDyZr99/zlrINMG5QZ5hYiIiIi0GXkjoctQOOFevil/DRQfhOy+QV8yc0guL6477ImX7T7B9IDSLiIiEvtSUlLIzs6muLiYqqoq9u3bR3JyMklJSTjFH0Tar7qyLXUzzwGys7NJSUmJ+FjCkkC31tYYYxYAS4H+wLvGmHKcGe8d3M3WAze0oPsewAPuhzXGnAKygET38c3Aldba4y1/ByLtg8tlueeFDZRW1nj2jeiRyd2XDI3iqERERESkyYxxZqF/8DPvvq2vwPSvBX3JjIBk+YrdqoMuIhKvunfvDkBxcTHglHPxTTiKxIrs7GzP73ukhWsGOtba/caYscC9wCJgAFANbAH+DvzWWlvVgq7XAg8CF+Ak53OAk8BG4AXgT9bamqCvFokhf1y+l4/2etfgTUlK4NfXjyc1KbGRV4mIiIhImxKYQN/yUqMJ9LyMDgzvnsH2glIANuWXcKqsis4dIz8jS0REossYQ48ePcjNzaW0tJTy8nJcLle0hyUSEgkJCaSnp5ORkRGVmed1jGojNY0xxgKqJSVtxtYjp7nq0RVU1Xr/x3jflSP5yowBURyViIhI+1N3i7O1Vvc6x5k2dY3/yHlwYoc3/sZG6NwvaPMfv76VJ5fv88SPfmEil4/tEc4RioiIiLQbobzGD9cioiISRpXVtdz1/Hq/5PmsIV348rT+0RuUiIiIiLRc4GKiW19utPnMIf5lXJarjIuIiIhIWCiBLtIO/fytHew8dsYTZ6cn89B140hI0MQ5ERERkXZp1FX+8ZaXGm1+/oAckhO9137LdxeGY1QiIiIicU8JdJF2ZtmuQp5asc9v308XjaFbZocgrxARERGRNi9vBHQd4Y2PrIeifUGbp6ckMbFvZ098qKiCAyfLwjlCERERkbikBLpIO3KqrIp7//Gp377rJvXm0tGqdykiIiLS7tUr4/JKo81nqYyLiIiISNgpgS7STlhr+d5Lmzh2+qxnX5+cNO5bMCqKoxIRERGRkGlmGZeZQ7r6xct3KYEuIiIiEmpKoIu0Ey+uy+fNzQWeOMHALz87nk6pSVEclYiIiIiETNdhkDfSGx/dAEV7gzYf0yuLzA7ea8GVe05S67LhHKGIiIhI3FECXaQdOFRUzv2vbvHbd8ecwUzunxOlEYmIiIhIWASWcdnyctCmiQmG6YO8ZVxKKqrZnF8SrpGJiIiIxCUl0EXauFqX5ZvPb+DM2RrPvrG9s/j6vCFRHJWIiIiIhMXI5pZxUR10ERERkXBSAl2kjfv9B3tYc+CUJ05LTuRXnxtPcqL+fEVERERiTteh0G20Ny7YCCf3BG0+c7B/An3ZrsJwjUxEREQkLikDJ9KGbTxczC//vdNv3w+uGMHArp2iNCIRERERCbvAxUS3Bi/j0i83nd6d0zzxugPFlFfVBG0vIiIiIs2jBLpIG1VeVcNdz22gxmchqHnD8/jCeX2jOCoRERERCbuRgXXQg5dxMcYwy6eMS1Wti0/2FYVrZCIiIiJxRwl0kTbqJ29sY++JMk/cpVMKP7t2LMaYKI5KRERERMKuy2DoNsYbF2yCE7uDNp8RUMZl+S7VQRcREREJFSXQRdqg97Yf49mPDvrt+9k1Y+nSKTVKIxIREZF4Z4zJNcZ8xRjzrDFmqzGmzBhz1hhz2BjzsjHm6nP3ErTvG40xtgmPi0L5ntq0emVcgs9CnzGoC75zLLSQqIiIiEjoKIEu0sacOHOWb/9zo9++L5zfl3kjukVpRCIiIiIAFABPATcAI3A+S1QDvYCFwGJjzBvGmPRWnMMFHGvkcbYVfbcvowLLuASvg965Ywqje2Z54u0FpRSWxs8/lYiIiEg4KYEu0oZYa/nOixs5cabKs29Al4784PIRURyViIiICABJwCfA7cAga22atbYTMAB40t3mM8DjrTjHIWtt90Yey1r3FtqR3EHQfaw3PrYZTuwK2jywjMsKzUIXERERCQkl0EXakOdWH+Ldbcc9cWKC4VefG096SlIURyUiIiICwFxr7fnW2sestXvrdlpr91trb8GbOP+iMaZPdIYYY5oxC913IVFQGRcRERGRUFECXaSN2HeijB+9ttVv313zhjCuT3aURiQiIiLiZa1deo4mT/psTw7nWOJGYB30LcHroE/q15nUJO/Hu+W7TmCtDdfIREREROKGEugibUB1rYu7nt9ARXWtZ9+kfp25bfagKI5KREREpFkqfbYTozaKWJIzEHqM88bHt0DhjgabdkhO5LwBOZ644HQlewrPhHuEIiIiIjFPCXSRNuC37+3m00PFnrhjSiK//Ox4khL1JyoiIiLtxmyf7U0t7KOrMWatMeaMMabCGLPXGPOsMWb2OV8Zq5pRxmVmQB305btUxkVERESktZSdE4mytQdO8ch7/gtC3b9gFH1z06M0IhEREZHmMcZkA991h8ustQ1Pkz63dGAiUIXzWWUAcAOw1BjzlDGmWQvDGGNsY48WjjGyRja9jMtM1UEXERERCTkl0EWi6MzZGr75/AZcPh/fLh3VnWsn9Y7eoERERESawRiTAPwF6IFTxuXOFnRzBPghMA7oYK3NwUmmzwDedbf5CvDLVg+4vckZAD0neOPCbXB8e4NNR3TPJLdjiif+aG8R1bWucI9QREREJKYpgS4SRT96bQsHi8o9cV5GKj9ZNAZjTBRHJSIiItIsvwaucG/fYa3d2NwOrLXvWGvvt9ZutNaede+rtdauBOYDr7ib3m6MGdKMfk1jj+aOM2oCZ6FvbbiMS0KCYbpPGZczZ2vY4FMmUERERESaTwl0kSjZcKiYF9Yc9tv34HXjyPGZNSQiIiLSlhljHsI74/yb1tqnQn0Oa60LuNcdJgBXhvocbd6oppdxmaU66CIiIiIhpQS6SJS8sOaQX3zj9P5cOLRrlEYjIiIi0jzGmJ8D97jDe621vwrXuay1u4G6TPDAcJ2nzercH3pO9MaF2+H4tgabzlAddBEREZGQUgJdJAoqq2t5/dMjnjglMYG7Lmry3cgiIiIiUWWMeRD4ljv8trX24WiOJy6Muto/DjILvVd2GgO7dPTEGw4Vc7qyOpwjExEREYlpSqCLRMF7249zurLGE88bkUd2ukq3iIiISNvnLttSV1Ll29baByNwzkFA3dTqfeE+X5vUUBkXaxtsOtNnFnqty/Lx3qJwjkxEREQkpimBLhIFi9f51z5fNLF3lEYiIiIi0nTu5Llv2ZZWJ8/NOVZPdx+vO48LeL2152yXsvtCr8ne+MTO4GVc6tVBLwznyERERERimhLoIhF24sxZ3t/h/RCT0zGF2cNU+1xERETatoCa53c3p2yLMeZGY4x1P2YHHO5njPnEGHOrMWZgXULdGJNgjJkKvAnU1S953Fq7o5Vvpf1q4mKi0wblkpjg/V5imeqgi4iIiLSYEugiEfbap0eocXlvt10wrifJifpTFBERkbbLGNMXb81zF/DfxpiCRh73NtJdQ6YAvwf2ABXGmEKgHFgFzHe3+RPw9da/m3Zs5EL/OEgZl8wOyYzrneWJ9xaWcaS4ItyjExEREYlJytqJRNjidfl+8TUq3yIiIiJtX0LAdrdzPDo1o+9jwNeAvwFbgdNANlANbAeeAmZaa2+y1tYE7SUeZPeF3lO88cldcGxLg01nDvG/w3G5ZqGLiIiItIgS6CIRtPNYKZvySzzxkLxOjO6VGcURiYiIiJybtXa/tdY043F/wOuf9jn2fsCxCmvtI9baG6y1o6y1edbaZGtthrV2hLX2Zmvtiki+3zZt1NX+cZAyLjPr1UFXAl1ERESkJZRAF4mgwNnniyb25hzrZomIiIiIeAWWcdn6coNlXCb0zaZjSqInXrH7BC5X/XYiIiIi0jgl0EUipNZleXm9N4FuDFw1oWcURyQiIiIi7U5Wb+h9njc+uRuOba7XLDkxgakDc73NyqrYXlAaiRGKiIiIxBQl0EUiZNWekxScrvTEMwZ1oUdWWhRHJCIiIiLtUhPLuMwILOOyuzBcIxIRERGJWUqgi0TI4nWH/eJFE3tFaSQiIiIi0q4FlnHZ8lKDZVxmDQlMoJ8M56hEREREYpIS6CIRUHa2hjc3F3ji9JRE5o/qHsURiYiIiEi7ldUL+kz1xkV7oWBjvWaD8zrRLTPVE3+y7ySV1bWRGKGIiIhIzFACXSQC3tpcQIXPh5VLR3enY2pSFEckIiIiIu1aE8q4GGP8yrhUVrtYd+BUuEcmIiIiElOUQBeJgMXr/cu3XDOxd5RGIiIiIiIxYeQCwHjjLS83sYzLiTAPTERERCS2KIEuEmZHiitYucdbb7JHVgemDsyN4ohEREREpN3L7Al9fcq4nNoHRz+t16z+QqJKoIuIiIg0hxLoImH28oZ8v8lAV03oRWKCCf4CEREREZGmaEIZl7yMDgzrluGJN+WXcKqsKtwjExEREYkZSqCLhJG1lhfX+pdvWTShV5RGIyIiIiIxZURgGZeXGizjMtOnjIu1sGrvyXptRERERKRhSqCLhNHGwyXsKSzzxGN7ZzHEZwaQiIiIiEiLZfaAftO9cfEBOLK+XrOZAWVcVu5RGRcRERGRpgprAt0Yk2GMud8Ys8kYc8YYU2KMWW2MuccYk9LKvq81xrxmjDlijKkyxpQZY3YYY54wxowP1XsQaY3F6zT7XERERETCqAllXKYMyCHJp4Tgyt2agS4iIiLSVGFLoBtj+gEbgfuA0Tj3FqYCk4GHgI+MMZ1b0G+qMeZV4B/AFUAP4CyQBAwFbgHWGmO+GYr3IdJSVTUuXv30iCdOSjAsGK8EuoiIiIiEUGAZl60v1yvj0ik1iXF9sj3x3hNlHC2piNAARURERNq3sCTQjTFJwGtAf+AocLG1tiOQDlwPlAITgGdb0P33gCvd278DeltrM4A0nOT8cpz39bAxZlIr3oZIq7y/4zinyqs98ZzheeR0bNWNFyIiIiIi/jK6Qb8Z3rj4IBxZV6/ZjEG5frFmoYuIiIg0TbhmoH8ZGOPevsZa+y6AtdZlrX0euNV97DJjzLxm9v0l9/MH1to7rLX5Pn2vxZmVfgZnGsa1rXkTIq2xeF2+X3zNRM0+FxEREZEwGHWVf9xAGZdpg/zroK9QHXQRERGRJglnAh1gqbV2VQPHnwP2ube/1MDxxvRwP69p6KC1tgTY6Q47NbNvkZAoLq9iyfZjnjgrLZk5w/OiOCIRERERiVkjFoDx+Wi3pX4Zl4n9sklN8rZZteckNqCNiIiIiNQX8gS6MSYdqLuH8M2G2ljnSu0td3hJM0+x1/3cYHkWY0wWTi10CJJkFwm31zYepbrW+4HkynE9SE1KjOKIRERERCRmBZZxKTkE+Wv9mqQmJTKlf44nPlpSyb4TZZEaoYiIiEi7FY4Z6CN8+t3cSLu6Y92NMTmNtAv0mPt5tjHmUWNMLwDjmAi8jjPzfBUtq7Eu0mqL1x32ixdN7B2lkYiIiIhIXBh1tX/cQBmX6YMD6qDvUR10ERERkXMJRwK9p892ftBW/sd6Bm1V36PAzwEXcDtw2BhTClQCa4HBwE+Bedba2mb0KxISewvPsP5gsSce0KUjE/pkR3FEIiIiIhLzmlDGZUZAHfSVqoMuIiIick7hSKBn+GyXN9LO91hG0FYBrLUu4LvATTiLhYIz4zzFvd0ByAI6NrVPAGOMbezRnL4kvr203v97o0UTemGMidJoRESkXbMWjm2FE7uiPRIRaes6dYX+M73x6cNw2L+i5eheWWR0SPLEq/acxOXSRx0RERGRxoRrEdGwMcZ0AZYAT+OUaZkJZOMsLroIKARuAz6uK+8iEikul2XxOv8E+lUT9GsoIiItcKYQ/n49PDYNHpkMz90ApQXRHpWItGXnKOOSmGCYOtBbxuVUeTXbCk5HYmQiIiIi7VY4EuilPtvpjbTzPVYatFV9zwCzgQ+A+dbaFdbaEmttgbX2JZyE+glgIE4plyax1prGHs0Yn8SxT/YXkV9c4YnPH5BDn5zG/gxEREQasPNtJ3G+8y3vvu2vwyPnwbq/1CvLICIC1C/jsvVlcLn8mkwfFFAHfbfqoIuIiIg0JhwJ9CM+241NvfU9diRoKx/GmBHAZe7wYWvrf3q01h4H/uwOFxnVzpAIClw89BotHioiIs1RVQ6v3w1/+yyUFdY/frYEXr0T/rwQivZFfnwi0rZ17AIDLvDGp/Ph8Gq/JjMGqw66iIiISHOEI4G+DWeBT4DRjbSrO1ZgrS1qYt8jfbb3NNKurlBoOpDXxL5FWqWiqpY3NnlvrU9NSuAzY7pHcUQiItKuHNkAf7gQ1jzpvz8hCRKS/fft+wB+Nw1WPgIurZkuIj5GXuUfb33ZLxyS14kunVI98Sf7iqiu9Z+lLiIiIiJeIU+gW2vLgRXu8NKG2rhnhc93h+80o3vfK7t+jbTr5rN9JmgrkRB6Z2sBZ87WeOL5o7qT0SG5kVeIiIjgJMCX/QL+OA9O7PQ/ljsYbn4H/msZ9J7if6ymAt75Pjx5sbPQaCwpOQxbX4n2KETapxFXgkn0xlv8y7gYY/zKuJRV1bLxcHEkRygiIiLSroRrEdFn3M9zjDHnN3D8Opwa5eAtt9IU63y2b2uogTGmI/Ald7jRWlvWjP5FWixw8dBFE7V4qIiInEPxIXhmASz5Ibhq/I9N+grc+iH0mgR5I+Cmt+HSn0JywNoa+Wvh8Qtg6U+g5mzkxh4OhTvh5dvh1+Ng8X86C6mKSPMElnEpPQKHP/FrElgHfYXqoIuIiIgEFc4E+ibAAC8aY+YBGGMSjDHXAU+4271prV3i+0JjzP3GGOt+9Pc9Zq09ALzmDq80xvzFGDPIOJKNMdOB9/Em5x8Ow3sTqef46UqW7fJ+yO+akcrMgPqSIiIifjb9Ex6bAQeW++9Pz4Xr/w5X/gpSOnr3JyTC1Nvg9lUwcLb/a1zV8MHPnET6If96x+1C/lp47gZ49DzY8Ffny4SaSvj499EemUj7NOpq/3jLS36h6qCLiIiINF1YEujW2hpgAbAfZ7HQd40xZUAZ8AKQCawHbmhB9zcBa93bXwR245RpqSsdM9l97EFrbXNmt4u02Msb8nH5LGl71fieJCWG6/spERFp1yqK4cWvwos3O4uC+hp8Mdy2CoZf1vBrATr3h/94GRb+Djpk+R8r3O6UdHnzO3C2jVexsxb2LIVnroQn5sL214GA9eHXPNX+Z9WLRMM5yrj0yUmnT06aJ153oJiKKq2nICIiItKQsGX4rLX7gbHAj4DNOJ+IqnGS3/cCU621p1rQ7wlgKnAL8DZwDEgGaoC9wLPALGvtt1v/LkTOzVrLi2v9y7dcM6l3lEYj0gaU5MPmxXCysbWeRc7B5YLK006Jk2Nb4MAq2Pk2bPyHkwgqb+r6423M/hXw+5mw6QX//Ukd4LKH4IZ/QEa3hl/ryxiYcAPcsRpGLAg4aOHjx+CxabDnvZANPWRctc7P8A+z4S9Xwb4P67dJTIXJN8NX34Ok1PrHRaRx6Tn+d6qcKYBDH/k1mT7QOwu9qtbFmgPt9L+rIiIiImFmrLXnbiUYYyw4yVIRX1uOlHD5b7y334/skckb35gVxRGJRIHLBXuXOrNFd7wB1gUYGHc9zP4udG5s3WeJOS4XVJ2ByhI4e9pJhHueSwLiRp4DZyP7SkyF0YucJGvvyU5CuS2rqYL3fwLLf0W999V9DCz6I+QNb3n/W1+FN+6FM8fqHxt/A1zyv05CLZpqqmDjc7Di13Byd8NtUjNhys0w9XbolBexoRn374+1to3/IkmoxfQ1/ro/w6tf88bn3QqX/dwTvrIhn288t8ET3zZ7EP99aSv+OyQiIiLShoTyGl8J9CaK6YtraZUfv76VJ5fv88Q/uHwEt8wa2MgrRGJIeZFTr3jNU1C0t+E2CclOQmzWvdCpa2THJ+Fx5jisewYKd7Qs+R1q3cfAlFtgzHX+NcPbisKdsPircHRDwAEDM74Oc74fmlnWFafgnR/A+mfrH+uYB5c/BCMXtv48zXX2DKx9GlY96ixm2JCOXZ2k+ZSb65eliQAl0ONXTF/jlxfBQ0O8CxR36g53b3XWUwCOl1Zy3gPe5ajG9c7ilTtnRmOkIiIiIiGnBHoUxPTFtbRYTa2Lqf+3hBNnqgBITDCs+u5c8jI6RHlkImFkrbPg3+onYctiZ6G/pkjuCNPugOl3RiVBJiGy40145U4ob4MLzqVmwrjPO0nYrsOiPRrnb2XNU/D296Gmwv9YZi+4+vcw4ILQn3fPUnjtG1B8oP6x4VfA5Q9DRvfQnzdQ2Un45HH4+HGoLG64TXY/50uE8TdAclrDbSJACfT4FfPX+M9eA7vf9cY3vgH9Z3jCS375ATuPOeslJBhY//8uISstOdKjFBEREQk5JdCjIOYvrqVFlm4/zleeXu2J5wzryp++cl4URyQSRlVlsOmfsOZJOPpp8HYdsp2k4M63oLaq/vG0zjDrHmfGcBQTZtJMVWVOInjtn8J0AgOpGU4SvEOm8yVL3Xbg89GNsOkfUF0evLv+s2DyTU7COCklTGNuxJlCePVO5+8g0KhFcMUvnL+FcKkqg6U/gY9+5y6p5CM1C+Y/ABO+GJ7SNyWHYeUjzl0KwX5GeaNg5jdh1NWQmBT6MTSTEujxK+av8dc/C6/c4Y2nfNW5G8Xt/le38PTK/Z74D/8xiUtGReALNhEREZEwUwI9CmL+4lpa5M6/reP1jUc98W8/P4Erx/WM4ohEwqBwp5M03/B3p351ML0mOfWoRy9yEuPFB+H9n8Gnf6ufwANnBu6F/+3MPG0DCTRpRP46pwRJsLrV4CS3gyW8U90J8Q6ZTvK2oTYpGZDQjLXNK0vg0+ecOyFO7AjermMeTPoyTLoRsiK0wPPOt52EVVmh//7UTGeh0LGfjVzN9sNrnDsGCrfVPzbgQrjy15AzIDTnKtwJK34FG5/3lowI1HeakzgfckmbqluvBHr8ivlr/IpT8OAQcFU7ccc8uGe7p4zLO1sK+M+/rPU0v3F6f+5fMCoaIxUREREJKSXQoyDmL66l2UoqqpnywLtU1TiJwYzUJFb/4CI6JCdGeWQiIVBbDdtfd5KT+5cFb5eUBmOudUpm9JzQcJvj22Hp/8K21xo+njsE5n4fRixsXgJVws9VC8t/Ce//X/2EaO4QWPgI5I1ofvI7lKyF/cudL3m2vRY8cWsSYOhnYMpNMHBueMZbVQ7//h9Y/cf6x/pOg6sfj86CujVVsPwX8OFD3iRanaQ0mPc/cP5/eRJqzZa/Fpb9Arb/i6C174fMdxLn/aa17BxhpgR6/IqLa/xnr4Xd//bGN/4L+ju1zksqqpnwo3dwud/+0G6deOebF0ZhkCIiIiKhpQR6FMTFxbU0y3OfHOQ7izd54uun9OGn14yN4oikzXC5oOqMz4KKpU5pitzB0Skl0Rwl+c5if+v+DGcKgrfLHeIkzcd9HtKym9b34bWw5H7Y92HDx3uMh3n/DwbNbVMzU5vk9FFntnG3US1PQrY1pw7AS7fCwVX1j02+GS75X0hJj/y4GlNaAOv+4vwOnz4cvF3nAU55lwlfhPSc0Jz7yAZnlv6Jnf77E5Jg9ned5HG0fzeOb3Nmo+evqX+s1yRY8Ah0G9m0vqyFve87iflgf9MmAUZfAzPugu6jWzzsSFACPX7FxTX++r/CK7d74ym3OGshuC18ZDmfHvbeYfbJ9+dpPR8RERFp95RAj4K4uLiWZvns71fxyf4iT/zCrdM4b0CIEjESPfWS3+7nyhKnfInvvsaeG5qFmZAMXYZA3kgn0dptlLOd1Tu6CWOXC/YudRY73PFGw+VWwEkEDr/cSZ4OuKDlY96zFJb8EI6sb/h4/1lw0f3Qe3LL+o8EV60z63bn287jmPvLtK7DYe4PnLrb7e1LgDrWwsYX4I173b/LPtK7wMJHYdil0RlbU9XWwK63nTso9iwJ3i4x1Sk5NPlm5/etJT8zVy2s/A2890D92d05g+CaJ5zkdFvhqnUW9Xzvx/Xrkyckw6y7nTUKklKDv37ba86dCUc3NNwmMdX5cmL610JXHibMlECPX3FxjV+vjEtXuGeH50u9n721ncfe3+Np/uvrx7NwfK9ojFREREQkZJRAj4K4uLiWJjt4spwLHlzqifvkpPHBvXNISNDn7jbrxG4noVZW2LLkdzilZjllMLq5E+t5o5y4qTO7W6q8CDb81UmcF+0N3i6jp1M/euKXILNHaM5tLWx7FZb8GE7uarjN8CucZHTeiNCcs7Uqip1k7M53nFvhy08Gb9trEsy7Dwa2s9vgK4rhX3fD5hfrHxsy3ynZ0ikv8uNqjZN7nIVP1z/rJJGC6T7WuatizHWQ0rFpfRcfgpf+Cw4sr39s0o0w/ydN7yvSTu2H177hzCIP1HW4Mxu9zxTvvpoq2PgcrPh18Fr4qZnOv+H5t0FGt3CMOmyUQI9fcXON/9fPOtdBdb78mvNlOLBsVyH/8eQnnkOfm9yHn12ruypFRESkfVMCPQri5uJamuTX7+7il+96b9P/+rwh3H3x0CiOSIIqPgTv/zQvofYFAAAgAElEQVT4QpZtWWZvJ6meNxK6jXa2c4e0rgyMtc7M6dVPwpbFUFMZvO3AOU4ybOhnwrfIZ20NfPp3p8b26fz6x00CjL0e5nwXsvuGZwzBWAuFO5yEw853nFImtrZ5fQyc45Sl6TUxPGMMpX3LnGRwYOmTpDSY/7/OLO32OqseoLoCtrzs1CdvqIRJndRMpzTRlJuh67Dg7Tb9E16/u/7Cuum5TvJ5+GWhGXc4Wet8ifb295y7bPwYpy76rLudOxJWPQqlRxrup2NXmHq782/WISvsww4HJdDjV9xc42/4G7x8mzee8lW4/CEAKqpqGffDd6iqda6T+uSksezbc6MxShEREZGQUQI9CuLm4lrOyVrL7Ife58BJ763v7987m/5d2ugsw3hVdgKWPewky2qrwnwy49Q4T82EDpkNPGc4tZmPbYUTO1o3noQk6DLUnVR3J9abUgamqsxJ+K15Eo5+Grxdh2yn9MLkmyB3UMvH2VzVlc7PatnDUFFU/3hiijOmWfdCp67hHcf+5e6k+dtQfKBpr+s+1in9E2wm/8iFMPd/nBI+bU1NlbPI64rfUO/uix7jYNEfoWuMfUF4ZIPzt7Dpn/XLmPjqP8v5vRt+hfeLq8oS+Ne9sOmF+u0HXwQLf9fuZl9TWgBvfMu5K6Q5svvBjK/D+BsgOS08Y4sQJdDjV9xc41ecggcHexda7tQd7t7mWVD5c4+v4uN93v//Lvv2HPrktLF1LkRERESaQQn0KIibi2s5p7UHirjmMe+iepP6debF26ZHcUTip/K0M1Ny1SNOQvOcfJPfWUES4HXPQY6nZHg+gJ5TbbVTUuL4FiehfmyLs118sFVv268MTN2M9bwRcOa4kyjc8Pf6M2V99ZrkzDAevSi6ibBz/fySO8L0O2Hanc6/fSicPuIky3e945SzaCyh6hlHujO7fOglMOQSyOzp/GzXPwsf/AxKj9Z/jUmE8V+A2d9xvvBoCwp3wIu3QMHGgAMGZt4Fs7/X9he+bY2KYtj4vPPlTeDin7465sGkL0PPCfDmd6Ak4O81qQNc/GM476vte5b+1led2vdnjjXeLm+UsyjqqKvDd3dKhCmBHr/i6hr/L4v814W46W3oOxWA3yzZxS/+7f3v4M+uGcPnpkT4zi8RERGREFICPQri6uJaGvW9lzbxt4+9yZMHrh7NDef3i+KIBHBmDq95CpY91HBt6oRkZybpqKucRHlLkt/hVHkaCrc7CfVjW+C4O7leWRy+cyalwZhrnbILPSeE7zwtcabQmY2+5smGZ+yn5TgLHU65BZI7NK9vVy3kr4OdbzkzzQs2Ne112f1g6KVO0rzfzODnra6AT/4Ay37R8M8vMdVJtM68GzrmNm/soWKtkzR+5wf1y/hk9YGrfw/9Z0ZnbNFgrXPnweo/wvbXvTM0m6L7GGeWft7w8I0vkipOOb8X65+tf6zPVKeky5BL2vcXBQ1QAj1+xdU1/tqnnbUP6ky9Ay79iXMoYILIgnE9+c3n29i1gYiIiEgzKIEeBXF1cS1BVVbXct4D73K60kmupCQmsPr7F5GVnhzlkcWx2hpnYbul/1e/djMABsZdD7O/C53b2Rcd1jozmY9tdc9Y3xKaMjC5Q5yk+bjrIa1z6MYbDsUH3TXs/95wDfvMXs6M7nFfaHwmbEUx7HnPmWl+rgVA65hE6DfdSRYOne+UzmlO0rCiGFb+Bj56rOFZ7SkZMP1rMO125y6ISDlzHF65w5lxH2jMdXDZQ+FfwLYtKy2AdX92Ek0N1eX3MM7Pb+4PICk1UqOLnD1L4a3vOov8DprrfOHTb1q0RxU2SqDHr7i6xi87AQ8N8f7/NKsv3LURjKG61sX4H75DWZWz1keXTqms/v48z9+GiIiISHujBHoUxNXFtQT1xqaj3P7XdZ74sjHd+d0Nk6I4ojhmLWx7Dd77cfDSC8Mud5Jb3UZGdmzh1pIyMCYRRlzhlGkZcEH7mz16fLvzs97+esPHc4c4P+uRC533Zq3ze7HTXcu8qQuApuc6CfMhlzhJw1AkkkuPwYcPOglZV3UD5+wCF3wLJn8l/InYHW/CK3dC+Qn//amZcPkvYOx14T1/e1Jb49yhsPqPzpcvvjJ7ObP0B1wQnbFFirXObPzE2P+SWAn0+BV31/hPXwH7l3njry71LHT9lT99wtIdhZ5D73zzAoZ2i+AXvCIiIiIhpAR6FMTdxbU06JZnVvPutuOe+MkvT2beiHa2WFws2Ps+vPtDOLKu4eP9Z8G8+6DPlIgOK+oaKgPjqnUSwRO/BJk9oj3C1ju8Bt693//Dv6+eE6DXZGd2dZMXAB3jlGYZMt9JIiQkhmy4for2wfv/BxtfoN5ineDMBJzzXRj7udCPoaoM3v4+rP1T/WN9p8OixyFbtW6DOrnHKRF1YIXz+zX3+23/7g1pFiXQ41fcXeN/8oSz1kGdmd+Ei+4H4IkP9/LAG9s8h+67ciRfmTEgsuMTERERCREl0KMg7i6upZ4TZ84y9SdLqHE5vwO5HVP46HvzSE5sA/Wz40X+WljyIyeB3pAe45zE+aC57W+GtTSdtbB3qfMlytENzX99cjoMnO2UZalbADSSjm2BJT+GnW82fLzrcJj7PzD88tD8Hh9ZDy9+1SnF4SshCeZ8H2Z8I3xfGoi0E0qgx6+4u8Y/fRR+4bNmQ85A+No6MIYtR0q4/DfLPYcuHtmNJ740OQqDFBEREWm9UF7jN1IwVkR8vbrhiCd5DrBgfE8lzyOlcKdTvmPbqw0fzx3slO8YsbBtLAgq4WWM8yXJwDnO78SSH9dPDgfK7uckzIfOb3wB0EjoNgq+8Bwc/BiW/NCZ1eyrcDs8f4Mz0/mi+1peJsRVCyt+BUt/Un9RzNwhcM0TbW/xWBERCa/MHtDnfDj0sRMX7XW+2O0+mhHdM+mcnsypcqfc2Ed7T1JT6yJJ17siIiIS55RAF2mixev9F6i8ZmLvKI0kjhQfgg9+Chv+1vACkhk9nQUkx9/Q+AKSEpuMcWqeD7scPv2bs9ho3aKPJhH6ToOhlzjlWZq7AGgk9D0fbvwX7F4CS+6Hgk3+x/PXwDNXOl8UXHRf85LdxQdh8a1wcGX9Y5NvgksegJT0Vg1fRETaqRELvAl0cL6M7j6ahATDtEG5vLGpAIDSyhq2HDnNuD5xvLC0iIiICCrh0mRxd3un+NlRUMr8X33oiYd268Tbd13guR1EQqzsBCz7hbN4X+3Z+sfTOsPMu+G8r0JyWuTHJ21TdaVTFiUhyamDH4oFQCPF5YIti2HpA85swIaMXOiUdukypPG+Nr4A/7oHzp7235/eBRY+CsMuDc2YRWKISrjEr7i8xi8+CL8a4427joA7PgLgLx8d4H9e3uw59O1Lh3H77MGRHqGIiIhIq6mEi0iEBc4+XzSxt5Ln4XC2FFY9CisfgarS+seTO8K022H616BDVuTHJ21bcgcYdXW0R9EyCQkw5lonSb7+WfjgZ1B61L/N1ldg2+sw4Qa48DuQ1cv/eEWxkzjf/M/6/Q+ZDwsfgU554XsPIiLSPmT3de5qOrLeiQu3OeXyug5lxqBcv6Yrd59UAl1ERETingraiZxDrcvy8vp8T2wMXDW+VyOvkGarOQsfPQa/Hgfv/1/95HlCMpx3K3xjg1PrXMlziVWJyTD5K86Cbhf9EDoEzKK3tbDuz/CbCfD296HspLN//3J4bEb95HlSGlz+MHzheSXPRUTEa8QC/3jbKwAM6NKRHlnedUJW7y/ibE1tJEcmIiIi0uYogS5yDiv3nODYaW8ZkZmDu9A9K4oLEMaS2hpntu1vJ8Fb34HykwENDIz7PHxtLVz2cyUAJX6kpMPMu+Abn8KseyA5oF557VlY9YjzpdMLX4anr4DT/nfK0GMc3PoBTLml7dV/FxGR6Bq50D/e6izUboxTB73O2RoX6w4UR3JkIiIiIm2OEugi57B4Xb5fvGiiZp+3mrWw7TV4bDq8cgeUHKrfZtjlcNtKuPr30Llf5Mco0hakZcO8/wdf3wBTvurUd/dVVQpbXwZ8a/camHEX3PwudB0WydGKiEh7kTsI8kZ544KNULQPgBmDuvg1XbXnRCRHJiIiItLmKIEu0ogzZ2t4a3OBJ05PSWT+qO5RHFE7Zi2cOuDUcf7jPHj+i3BiR/12/WbCzf+Gz/8Nuo2M/DhF2qKMbnD5Q3DnGhj7OSDIjPLM3nDj63DxDyEpJaJDFBGRdiZwFvq21wCYPti/DvqKPYF3CIqIiIjEFy0iKtKItzYXUFHtrfv4mdE9SE/Rn805VZyCY1vh+FY4tsV5Pr4Nzp4O/pruY+Gi+2DQPJWbEAkmZwAs+gPM+AYs+THsfNN7bPS1Tr3ztOzgrxcREakzcgG8/xNvvO1VmPF1emSlMbBLR/aeKAPg00PFnDlbQ6dUXQOLiIhIfNJVkEgjFq/zryl8jcq3+Ks5Cyd2upPlW7xJ89P5535tnZxBzsKgI6+CBN0UI9Ik3UbBF56DQ6thz3vQezIMnhftUYmISHvSdTjkDoGTu5z48GooyYesXkwblOtJoNe4LKv3FTFnuNaiERERkfikBLpIEPnFFaza671ltWdWB6YOzG3kFTHMWig+6D+j/NhW5wOXq6ZlfWb0gNnfgfE3QGJyaMcrEi/6THEeIiIizWWMMwt92cPefdteg6n/xYzBXfjrxwc9u1fsPqEEuoiIiMQtJdBFgnh5fT7WZ12+qyb0IiEhDkqLtKT8SlN07u8sVtVtpFOuZcjFkJwWkiGLiIiISAuMCEygvwpT/4tpAZNGVqoOuoiIiMQxJdBFGmCtrVe+ZdHE3lEaTZiEovxKQ9JynPISeSOdZHm30c4twqmdQjNuEREREQmNHuMgux8UH3DiAyvhzHE6d8pjZI9Mth51JlBsPXqaorIqcjpqgWoRERGJP0qgizRg4+ES9hSWeeJxfbIZnNeOEsDWOjPJSw77PA76x6UFgD1nV0ElpkLXYT7J8lHOo1M3LQIqIiIi0h7UlXFZ+Vv3DgvbX4fJNzFjcK4ngQ7w0d6TXDamR3TGKSIiIhJFSqCLNKDNLx5aUwWlR3wS4oeg+JB/gry67Nz9NJVv+ZVuo5ztnIGQqP+EiIiIiLRrIxb6JNCBra/A5JuYPqgLTyzb59m9YvcJJdBFREQkLin7JRKgqsbFq58e8cTJiYYrxvaM3AAiMXs8GJVfERERkSCMMbnAAmAeMBHoh/N5ohBYAzxjrX2plefIAO4BrgEGALXATuA54LfW2qrW9C8N6DUJMno6kzMA9i2D8iKmDMghKcFQ43KuOVepDrqIiIjEKSXQRQK8v+M4p8qrPfGcYXnhq/d4aj9sXuw8h2v2eCCT4HxIyuoNOQP8k+UqvyIiIiLBFeD/+aESqAZ6uR8LjTFvAtdaa8ub27kxph/wPtDfvascSAUmux83GGPmWWtPtfQNSAMSEmDElfDJ405sa2HHG3Sa8EXG9clm7QHnn3vviTKOllTQI0uLwIuIiEh8UQJdJMCLkVo8tCQf/jDbmW0eSikZkN3HSZBn9YasPu6HO87oodIrIiIi0hJJwCfA08Db1tq9AMaY/sAPgJuBzwCPA//RnI6NMUnAazjJ86PAl6y17xpjEoDrgCeACcCzwOWtfifib+RCbwIdYOurMOGLzBiU60mgA6zcfZJrJoXp2lhERESkjVIWTcTHqbIq3tt+3BNnpyczZ3jX8Jxs+S+anzz3nT1e98gOSJB3yArPeEVERCTezbXWLg3caa3dD9xijKkBbgW+aIz5nrX2UDP6/jIwxr19jbV2lbtvF/C8O5H+N+Ay9yz0Ja15IxKg71To2BXKCp1471KoLGHaoC785r3dnmYr9pxQAl1ERETijhLoIj5e33iE6lpvbfErx/YkNSkx9Cc6fRTW/aX+/nqzx3tDVl/NHhcREZGoayh5HuBJnAQ6OCVXmptAB1halzwP8BzwAE5d9C8BSqCHUkIiDL8C1v7JiWurYOfbTBx5DR2SE6isdgHODHRrLUYl/0RERCSOKBMn4uPFdfl+8aKJvcJzolWPQO1ZbzzmOrj8Yc0eFxERkfas0me7yTMQjDHpwAx3+GZDbay11hjzFnAbcEmLRyjBjVzgTaADbH2F1LGfZUr/HJbtOgFAwelK9p0oY2BXLTAvIiIi8SMh2gMQaSv2FJ5hw6FiTzywS0fG98kO/YnKTsCap7yxSYALv6PkuYiIiLR3s322NzXjdSPwfi7Z3Ei7umPdjTE5zehfmqL/LOjgc+27ewlUlTFtUK5fsxV7TkZ4YCIiIiLRpQS6iNtLDcw+D8vtqasehepybzxqEXQZHPrziIiIiESIMSYb+K47XGat3dGMl/f02c4P2sr/WM+graRlEpOdMi51aipg17+ZMaiLX7NVe05EeGAiIiIi0aUEugjgclleWu//ee2qCWEo31JxCj55wn/frHtCfx4RERGRCHEv8PkXoAdOGZc7m9lFhs92edBW/scygrbyH5tt7NHMcca+kQv8462vMLpXFhkdvJU/V+05iculfzoRERGJH0qgiwAf7ysiv7jCE08dmEPvzulhONHjUFXqjUdcCd1Ghv48IiIiIpHza6Bu6vId1tqN0RyMtMLA2ZCa6Y13vUNi7VmmDvSWcTlVXs22gtMRH5qIiIhItCiBLgIsXnfYL140sXfoT1J5Gj56zH/frHtDfx4RERGRCDHGPIR3xvk3rbVPNdY+CJ/ZBTQ2g8H3WGnQVj6staaxRwvGGtuSUmHofG9cdQb2vMf0gDroK3erDrqIiIjEDyXQJe5VVNXyxqajnrhDcgKfGd099Cda8yRUehcpZcgl0HN86M8jIiIiEgHGmJ8DdbXo7rXW/qqFXR3x2W6shp7vsSNBW0nrjAgo47LtVWYM9q+DvkJ10EVERCSOhDWBbozJMMbcb4zZZIw5Y4wpMcasNsbcY4xJaUF//c9VxzDg8adwvC+JLe9sLaCsqtYTzx/VnYwOyaE9SVU5rHzEf98F3wrtOUREREQixBjzIFB3MfNta+3DrehuG+Byb49upF3dsQJrbVErzieNGXwRJPtM9t/xBkNyU+jSKdWz65N9RVTXuhp4sYiIiEjsCVsC3RjTD9gI3IdzsWuAVGAy8BDwkTGmczO7rQWOneNR4tN+dSvegsSJ1z496heHpXzL2qeh3GemzoALoc95oT+PiIiISJi5y7bU1aH7trX2wdb0Z60tB1a4w0uDnNMAdbVF3mnN+eQcUtJhyMXeuLIEs2+ZXxmX8qpaPj1U3MCLRURERGJPWBLoxpgk4DWgP3AUuNha2xGnbuH1ODULJwDPNqdfa+0ha233xh7AX9zNK4C/hegtSYyqrK5lxW5vYjunYwozA25RbbXqSlj5G/99mn0uIiIi7ZA7ee5btqVVyXMfz7if5xhjzm/g+HXAQPf2n0N0TgmmXhmXV5gxOKAO+h7VQRcREZH4EK4Z6F8Gxri3r7HWvgtgrXVZa58HbnUfu8wYMy9UJzXGdABucIcvWms1LUIa9fG+IiqqveVbZg/tSmJCiNeT2vBXKPWZ5d53GvSfGdpziIiIiIRZQM3zu5tTtsUYc6NPmcXZDTR5BtiEc9fqi3WfEYwxCcaY64An3O3etNYuafGbkKYZOh8SvSVb2P4vpg/I9mviOwlFREREJJaFM4EOsNRau6qB488B+9zbXwrheRcBdWVh/hjCfiVGvbftmF88d0ReaE9QWw3LA9bTuuBeMCFO0ouIiIiEkTGmL96a5y7gv40xBY087m2ku3qstTXAAmA/zmKh7xpjyoAy4AUgE1iPd7KMhFNqBgya643LT9KndAN9ctI8u9YfLKbCZx0hERERkVgV8gS6MSYdmOEO32yojbXWAm+5w0tCePqb3c+7rLUfhLBfiUHWWt7bcdwTJyYYZg3pGtqTbHweSg56454TYFDIbroQERERiZSEgO1u53h0au4JrLX7gbHAj4DNgAWqgbU4NdenWmtPtfgdSPOMXOgfb32V6QO9pQ6ral2sOaC1XEVERCT2hWMG+giffjc30q7uWHdjTE5rT2qMGQjMcYdPtrY/iX27j5/hUFGFJ57crzNZacmhO4GrFpYF3Nl8wbc1+1xERETaHWvtfmutacbj/oDXP+1z7P1GzlNqrb3PWjvGWtvJWptprZ1srX3YWlsV7vcpPoZdCglJ3njba0wf1NmvyYrdqoMuIiIisS8cCfSePtv5jbTzPdYzaKumuwmnZmIN3kWImsynJmODjxCMT9qY97Yf94vnhbp8y+bFULTXG3cbDUMvDe05RERERETCIa0zDLjQG58p4IK0fX5NVu1RHXQRERGJfeFIoGf4bJc30s73WEbQVk1gjEkEbnSH/7LWFrSmP4kPgQn0ucNDmEB3uWDZQ/77Zt0DCeFadkBEREREJMRGLvALO+9/i6HdvNV5NuWXUFJRHelRiYiIiERUrGTzLsVZbAhauHjouW5DDd1QpS0oKa9mzQFvCc0+OWkM6trsUp3BbX8dCrd74y5D69eRFBERERFpy4ZfAcbnI+O215g+MNcTuix8vFdlXERERCS2hSOBXuqznd5IO99jpUFbNc0t7ud8gixcKuLrw12F1Lq8lXnmDe+GCVVtcmvhwwf99826BxISQ9O/iIiIiEgkdOwC/WZ445KDXJpz1K/Jyj1KoIuIiEhsC0cC/YjPdq+grfyPHQna6hyMMd2AK9zh09ba2pb2JfFjaUD5ljmhLN+y6x0o2OiNs/vB6GtD17+IiIiISKQE3EU5/syHJPjMO1mpOugiIiIS48KRQN8GuNzboxtpV3eswFpb1IrzfQlIAizwVCv6kThR67Is3eFNoKclJ3L+gJzQdG4tfPBz/32z7obEpND0LyIiIiISScOv8As77HqdMT0zPfHOY2c4XloZ6VGJiIiIREzIE+jW2nJghTu8tKE2xqmVMd8dvtPKU97sfl5qrd3byr4kDmw4VMypcu9iRzOHdKFDcojKq+z7APLXeOPMXjDuC6HpW0REREQk0jJ7QJ/zvXHRXhb2LPZrskplXERERCSGhWsR0Wfcz3OMMec3cPw6YKB7+88tPYkxZiYwzB22aPFQiT+B5VvmhrJ8ywcBtc9n3AVJKaHrX0REREQk0kYs8Avn8ZFfvHK3EugiIiISu8KZQN8EGOBFY8w8AGNMgjHmOuAJd7s3rbVLfF9ojLnfGGPdj/7nOE/d4qFFwOJQDV5i25LA+ufDQpRAP7ASDiz3xh3zYOJ/hKZvEREREZFoGemfQO9z9F1SEr0fJVeoDrqIiIjEsLAk0K21NcACYD/OYqHvGmPKgDLgBSATWA/c0NJzGGMycWayAzxrrT3bmjFLfDhaUsG2o6c98aiemXTP6hCazj98yD+e8XVITgtN3yIiIiIi0ZLdF3pO8IQJJ7ZzRc9ST3z4VAWHisqjMTIRERGRsAvXDHSstfuBscCPgM04i3xWA2uBe4Gp1tpTrTjF9UC6e1vlW6RJ3gtX+ZbDa2GPz80UaTkw6Suh6VtEREREJNoCyrhcm77OL16xW7PQRUREJDaFLYEOYK0ttdbeZ60dY63tZK3NtNZOttY+bK2tCvKa+621xv3Y30jff/Bptylsb0JiStjqny8LmH0+7XZI7RSavkVEREREom3kQr9wfOmHfvFKLSQqIiIiMSqsCXSRtqSyupYVPgsc5XZMYVzv7NZ3XLAJdrzhjVOz4Lz/bH2/IiIiIiJtRe4gyBvlCdOLtjAsxTvrfOWek1hrozEyERERkbBSAl3ixqq9J6morvXEFw7rSkKCaX3HgbXPz78VOmS1vl8RERERkbYkYBb6TTmbPdsnzpxl57EzkR6RiIiISNgpgS5xI7B8y7zh3VrfaeEO2PqKN07pBFNva32/IiIiIiJtzUj/OuizXav84pV7VAddREREYo8S6BIXrLV+C4gmJRhmDe3S+o6X/QJnfVy3KTdDek7r+xURERERaWu6DofcIZ6w2+lNdMdbItG3XKKIiIhIrFACXeLCruNnOHyqwhNP7t+ZzA7Jreu0aC9s+oc3TuoA0+5sXZ8iIiIiIm2VMfVmoS9KW+fZ/njvSWpqXZEelYiIiEhYKYEuceG9cJRvWf5LsN6a6ky6ETrltb5fEREREZG2KqAO+tUd1nq2S8/WsPnI6UiPSERERCSslECXuBCYQJ8zvJWJ7uJDsOHv3jgxBaZ/vXV9ioiIiIi0dd3HQnY/Tzi4YhNdKPHEqoMuIiIisUYJdIl5JeXVrD1wyhP3y01nUNeOret05W/AVe2Nx98AWb1a16eIiIiISFsXUMbFYJmfuNoTr1QddBEREYkxSqBLzPtgVyG1Lu9Cn3OG5WGMaXmHpQWw9hlvbBJh5l2tGKGIiIiISDsywr+My8KUNZ7t1fuLqKyuDXyFiIiISLulBLrEvPe2HfOL57a2fMvK30LtWW889nPQuX/r+hQRERERaS96TYKMnp5wkt1CNqUAnK1xsf5gcbRGJiIiIhJySqBLTKt1WT7YWeiJ01MSOX9gTss7LDsJa57y2WFg1j0t709EREREpL1JSPAr45JILRcnehcTVR10ERERiSVKoEtM23DoFKfKvbXKZw7uQmpSYss7/OhRqC73xqMXQZfBrRihiIiIiEg7NGKBX3hpgk8d9D2qgy4iIiKxQwl0iWlLth33i1tVvqXiFHz8B/99mn0uIiIiIvGo71To2NUTXpC4iQyciSafHirmzNmaaI1MREREJKSUQJeY9t52/wT6nNYk0D95AqpKvfHwK6DbqJb3JyIiIiLSXiUkOtfDbsnUMDdhHQA1LsvqfUXRGpmIiIhISCmBLjHrSHEF2wu8Ce/RvTLpltmhZZ2dLYWPfue/74J7WzE6EREREZF2bqR/GZfPJHrLuKzYrTroIiIiEhuUQJeYFTj7fO7wbi3vbPWTTgmXOoMvhp4TWt6fiIiIiKV0PYsAACAASURBVEh7138WpHX2hBcmfEoalQCsUB10ERERiRFKoEvMWlovgd7C8i1V5bDqEf99F367haMSEREREYkRickw7HJPmGaqmJ3wKQDbjp6mqKwqWiMTERERCRkl0CUmVVbXsmKP97bRLp1SGNsrq2WdrfszlBV64wEXQJ/zWjlCEREREZEYEFDG5bLEjz3bqzQLXURERGKAEugSk1btOUlltcsTzx6WR0KCaX5HNWdhxa/9913wrVaOTkREREQkRgycDamZnnBOwgZScWaer9yjOugiIiLS/imBLjGpfv3zFpZv2fBXKD3ijftMdWo9ioiIiIgIJKXC0PmesJOpZFbCJgBWaga6iIiIxAAl0CXmWGv9EuhJCYaZQ7o0v6Paalj+S/99F3wLTAtmsouIiIiIxKqRC/3CzyR+AsC+E2UcKa6IxohEREREQkYJdIk5O4+dId/nQv28ATlkdkhufkcbX4Dig9645wQYPC8EIxQRERERiSGD5kFyuie8KGEtydQAmoUuIiIi7Z8S6BJzQlK+xVULyx7236fZ5yIiIiIi9aWkw5CLPWGWKWd6whYAVu5WHXQRERFp35RAl5jz3vZjfvGcliTQt7wERXu8cd4oGPqZVo5MRERE5P+zd99xUlZ338c/Z7YXtgC7S4cFaQsoICCKiIioaMRYUzV3TCxJ7iRPYppJnuiTxCR3NL1aEqPR3FETYw1GQASsVBVYOktnl6Vs7zvn+eOanbJl2DKzM7P7fb9e12vnnOtc5/otdfY35/odkT5q8tKA5hUup4zLW3tPYq2NREQiIiIiIaEEuvQpZTUNbDxw2tseMyiVsYPTujaJ293O6vO7wKW/LiIiIiIi7ZpwOcQleZuXxW0gjmaKK+rYd6I6goGJiIiI9IwygtKnrN5VittvgcvCSbmYrpZd2fkyHC/0tQeNh4IPhyZAEREREZG+KGlAwH5Bg0wlc1w7ANVBFxERkdimBLr0Ka3rny+alNe1CayFNfcH9s2/C1xxPYxMRERERKSP66iMi+qgi4iISAxTAl36jGa3ZfWuUm87LTGOOfkDuzbJnhVw7H1fO2s0TLshRBGKiIiIiPRhE68AV7y3eUXcegxu3t53ErdbddBFREQkNimBLn3G5oOnKatp9LYvHD+YxPgu/BG3Flb/NLDvwq9AXEKIIhQRERER6cNSsiF/gbeZZ8qYaXZTVtNI4bGKCAYmIiIi0n1KoEufsbKn5VuK1sDhdb52xnCY/vEQRCYiIiIi0k8UBJZxWRLnKeOyV2VcREREJDYpgS59xqpWCfSLJ+V0bYLWtc/nfRnik3oYlYiIiIhIPzLpQ2B8P2ZeEbcesNpIVERERGKWEujSJxwpq2VHcaW3PW14JrkDkjs/wcF3YP9aXzstF2beEsIIRURERET6gbTBMHqetznCnGCaKWJd0SkamtwRDExERESke5RAlz7htVarzy+ZlNu1CVqvPr/gi5CQ0sOoRERERET6oYJrAppXxr1LTUMzHxwui1BAIiIiIt2nBLr0Ca3Lt3QpgX5kE+xZ4WunZMOsW0MUmYiIiIhIPzPpQwHNK1zrAMube1TGRURERGKPEugS82obmnlzj29TosHpSUwbntm5i5sa4KWvBPbN/QIkpYcwQhERERGRfiRjKIw8z9vMd5UwyRxi1c7jQS4SERERiU5KoEvMe3vfCer96ikunJiDy2U6d/HrP4Zj7/nayZkw57YQRygiIiIi0s+0KuOyJG4d7x0q43hFXYQCEhEREekeJdAl5nW7/vn+N+GNXwT2LfkppGSFKDIRERERkX5q8tUBTaeMC6zYrlXoIiIiEluUQJeYZq3lNb834QlxhgvHDz7zhbVl8OztgPX1TbkOzv5I6IMUEREREelvskbBsBne5kTXYcaZIywvLI5gUCIiIiJdpwS6xLSdJZUcLfc9BjonfyADkhPOfOHLd0HFYV87YwR86OdgOln6RUREREREgpu8NKD50bhVvLn3JNX1TREKSERERKTrlECXmNa6fMvCiZ0o3/LB07D1H34dBq79I6RkhzY4EREREZH+rFUd9Nvi/80890bW7CqNUEAiIiIiXacEusS011rVUFw0OS/4BacPOKvP/c37MuTPD3FkIiIiIiL93KBxbZLov0z4HZve2xShgERERES6Tgl0iVmnqxvYdPC0t50/OI38wWkdX+Buhn/dAfUVvr6h58DC74QxShERERGRfuzqX+POHuttZpoabth7N011VREMSkRERKTzlECXmLVmdyluvz1Az1i+5Y2fw8G3fe34FLjuEYhPDE+AIiIiIiL9XUoWro8+Qb1J9nZN5ACnn/5vsDbIhSIiIiLRIawJdGPMAGPMvcaYLcaYKmNMuTFmvTHmLmNMj7OWxpghxpgfGGM2GmNOGWNqjTEHjDGvGGO+ZYzpxG6SEqtWtinfEiSBfngjvP6TwL7L74OcCWGITEREREREvPKm8N6M7wd05ez7F6x/JEIBiYiIiHRe2BLoxpjRwAfAPcBUwABJwCzgAeAdY0y3d200xnwE2Al8F5gJpAANwCjgcuDHQJB6HhLLmprdrPbbfCg9KZ7ZYwa2P7i+Cp79LLibfH0TlsCsW8McpYiIiIiIAIxf9Gkebbo8oM++cjccWhehiEREREQ6JywJdGNMPPAiMAY4Biy21qYBqcBHgUpgBvBEN+e/EfgbkAE8BEyx1qZYazM9fRcBvwAae/adSLTadLCM8lrfb++FZw0mMb6DP87/uRtO7fO103Jh6W/AmDBHKSIiIiIiAAPTEnl1xBdZ7/Y9AWrcjfD0LVB1PMiVIiIiIpEVrhXonwKmeV5fb61dAWCtdVtrnwLu8Jy70hizqCsTG2OGAg/ixH6XtfYOa21hy3lrbaW1dq219qvW2uoefycSlV7bEfgm+5KOyrdsfxE2PR7Y9+HfQ3pOmCITEREREZH2LJoynM83fJnjNsvXWXkMnvk0NDd1fKGIiIhIBIUzgQ6wylr7djvn/w4UeV7f0sW5vwRkA5txVplLP7SqVQL94ontJMQrjsELXwzsm3M7jF8cxshERERERKQ9iwvyKCWbzzd8iUYb5ztx4A1YcU/kAhMREREJIuQJdGNMKjDP01zW3hhrrQVe8TQv6+ItWhLuT3jmkX7m8OkadpZUetvnjMgkd0By4CC3G577HNSe9vXlTILFgZsXiYiIiIhI7xg9KI0JeelssJP4UdPHA0++/VvY+mxkAhMREREJIhwr0Cf7zbs1yLiWc0OMMR3s/hjIGJMPDPM0Nxpjphlj/maMOWaMqTfGHDbGPGWMmRdsHoltrVefL5zUTvmWd/8I+1b52nGJcN3DkJAS5uhERERERKQjiwvyAHi0+QpeaD4/8OTz/w3Hd0QgKhEREZGOhSOBPszv9ZEg4/zPDetwVKAJfq/nARuAjwGZQB0wHLgJWGuM+b+dnBMAY4wNdnRlLgmvNvXPWyfQi7e2fQR00fdg6NlhjkxERESk7zLGpBpjlhhjvmuMedYYc8Dv/fK9PZz73jO9H/ccZ4Xo25EIWVwwxPPK8M3G2ziUMMZ3srEanvoE1FVEIjQRERGRdoUjgT7A73VNkHH+5wZ0OCpQtt/rHwBHgcVAurU2E5gCvA4Y4PvGmOs6Oa/EiNqGZt7ae9LbzhmQxNRhmb4BjXXw7G3Q3ODry18Ac7/Qi1GKiIiI9ElzgH/jvA+/FhgVhns0AiVBDu00GePOHp5J7oAkAGpJ5tM1X8Im+f04eHKPU4pR1TpFREQkSoRrE9Fw8Y/XANdba1dYa90A1tpC4Gqg2DOm0zvRWGtNsCNk34H0yFt7T1Df5Pa2F07MweXy++1ZcS8cL/S1k7Pg2j+CK9b+qIuIiIhEpdPASuB+nCdBi4MP77K3rLVDghz7Q3w/6WUul+FSTxkXgD3NQ9gw48eBg3a8BG/+spcjExEREWlfOLKKlX6vU4OM8z9X2eGojudeaa3d1HqAtbYK+J2nebYxJq/1GIldQcu37FkB7/4h8IKlv4aMzlYIEhEREZEg1lprB1prL7XWfsNa+3egPtJBSexZXBD4I9oTZVNh/l2Bg1Z+H/a93ntBiYiIiHQgHAn0o36vhwcZ53/uaIejAvnXTd8eZJzfEmRGd3JuiXLW2oAEekKc4cLxOU6j+gQ89/nAC6Z/Egqu6cUIRURERPoua21zpGOQvuH8sYNITYzztlftOE7jRXfD2IW+QdYN/7gVyg9HIEIRERERn3Ak0LcDLTU2pgYZ13Ku2Fp7qpNzFwKdeePuX3JFxfP6iB3FlRwrr/O2z8sfRHpSvFMf8YUvQVWJb3B2Piz5SQSiFBERERGRYJIT4lgwIcfbrqhrYv2Bcrj+T5A50jew5iQ8fQs06UEHERERiZyQJ9CttTXAm57mFe2NMcYY4HJP89UuzF0HrPE0JwcZWtByCbC/s/NLdGtdvmVhS/mWTY/Bzpd9J0wcXP8IJHV2b1oRERERiRJTjDFbjTE1xpgqY8xOY8zDxpgZkQ5MQqt1GZdXC0sgbRDc9DjEJflOHNkIy77Zy9GJiIiI+IRrZ8XHPF8XGmPOa+f8jcBYz+vHuzj3o56vi4wxM1ufNMakAy21PN611pZ2cX6JUq0T6Ism5cKJPfDK3YEDF3wTRszqxchEREREJEQG4yyUqQWSgAnAZ4GNxpgfdnUyY4wNdoQ2dOmKSyblEufyPTi8vLAEay0MnwlXPRA4eOOjsPmJXo5QRERExBHOBPoWnFIq/zTGLAIwxriMMTcCD3vGLbPWrvS/0Bhzr9+b2jHtzP0ksM5/bmOMy3PtZOAFYAhOGZnvhPw7k4g4Vd3A5oOnve2xg9MYk50Iz34WGmt8A0ee13YDIhERERGJdruBbwATgWRr7SAgDeep1Y047/2/Y4zRG70+Iis1kdljsr3tI2W1bD9W6TRm3uIc/l76Khx9rxcjFBEREXGEJYFurW0CluKUTxkOrDDGVAPVwNNABrAZ+EQ35nYD1+DUQx8DrAAqjTFlnr6FQCNwp7X2tZ5+LxIdVu86jttvjdAlk3Lh9R/D0c2+zsQBcO2DEBff+wGKiIiISLdZa5+01t5vrd1lrW309DVYa18FLgTWe4bea4zJ7MK8JtgRhm9FumBxwZCA9vJCvz2NltwPw/wq9zTXw1M3Q01nt88SERERCY1wrUDHWrsfOBv4PrAVpx55I84Kkq8Bc621pzucIPjcxcBMzzzrPfOm4CTs/wzMtNY+3OEEEnNe2xFYiefD2fth7c8DB115PwzM772gRERERCTsPPsgfdvTTAcWRTAcCaHLWtVBX7692NdISHbqoacM9PWVH4R/fhbczb0UoYiIiEgYE+gA1tpKa+091tpp1tp0a22GtXaWtfZn1tqGDq65129VyP4gc9d75pljrc2y1iZZa/OttZ+x1m4N2zclva6p2c3qnb7650OT6pny7tdxPpPxmHItnPPR3g9ORERERHrD236vx3Y4SmLKyIGpTBoywNveeqSCo2W1vgFZo+CGP4Px+7F170rnSVQRERGRXhLWBLpIKGw8cJqKuiZv+1cZT2AqDvsGZAyHD/0CjJ7CFRERERGJJYtbrUJfsb0kcMC4hXDJdwP71twPO5eFOTIRERERhxLoEvVe81t9fo3rDeZU+u87a5y65ynZbS8UERERkb5irt/roohFISHXOoEeUAe9xbyvwMSrAvuevQNO7g1jZCIiIiIOJdAl6q3a4STQR5hSfpDwaODJeV+C/PkRiEpEREREQsGY4I8RGmOSgPs8zWpgZZDhEmOmDc9kSEayt/3OvpNU1DUGDnK54No/wMBxvr76cmdT0YbqXopURERE+isl0CWqHTpVw66SKly4+VnCH8gwfjURh54DC7/b8cUiIiIiElLGmGxjzOCWA9/PE6n+/caY9FbX3WuMsZ5jTKtpLzLGrDDG3GyMGeF3TYIxZhGwFjjP0/19a21ZeL47iQRjDJcW5Hrbjc2W13eWth2YnAkfeQISUn19x7fBi18Ga9uOFxEREQkRJdAlqq3ylG+5M+4FznPt8J2IT4HrHoH4xAhFJiIiItIvbQZK/Y6Rnv6vt+r/bRfmNMAi4HHgkDGmxhhTirPafAUwG3ADP7LW/jQU34REl8UFQwLa7ZZxAcgrgKW/Cezb8gyseyhMkYmIiIgogS5RbuX245xt9vKV+H8Gnrj8h5AzITJBiYiIiEgobQG+BvwT2AXUAlmer+/jJOOnW2u/E7EIJazmjh1IelK8t/36juM0NLnbHzztBpj7+cC+/3wbDr4TxghFRESkPzNWj7t1ijHGAujXq/fUNDRxwfdf5FnXtxjrKvadmHAFfOzvELxcpoiIiEintJTgttbqzUU/o/f40eMLf9vEyx8c87b/+pk5zB+f0/7g5kZ4bCkcfMvXlz4E7lgDA/Lav0ZERET6lVC+x9cKdIlab+05yTd4LDB5npYDS3+r5LmIiIiISB9yWUFg4rvDMi4AcQlw41+cpHmLqmJ45r+c5LqIiIhICCmBLlHr2Lv/4OPxqwI7r/k9pHewEkVERERERGLSxRNziXf5FsmsKCwJ/mTAgDy46TFw+Uq/cPAtWP69MEYpIiIi/ZES6BKVbMVRrj7w44C+xpmfgQmXRSgiEREREREJl8yUBM4bO9DbPlpex7ajFcEvGjUXLv9RYN87v4ct/whDhCIiItJfKYEu0cftpvrpO8ii0tt1JH4UCUvui2BQIiIiIiISTosnB5ZxeTVYGZcWc26HaTcG9r3wRSgpDGFkIiIi0p8pgS7RZ92DpB9e42022Dg2zPopJKREMCgREREREQmnS7tSB72FMXD1ryB3iq+vsQae+iTUlYc4QhEREemPlECX6FKyDZbfE9B1f9NHmD77oggFJCIiIiIivWFEdioFQzO87e3HKjh0qubMFyamwUf+CkmZvr5Te+FfnwO3OwyRioiISH+iBLpEj8Y6+Odnobne2/Vm8xRey76R0YPSIhiYiIiIiIj0hsWtVqGv2N6JVegAg8bBdQ8G9u18Gd78RYgiExERkf5KCXSJHq/9AI77ahWW2TTuaryTSyYPiWBQIiIiIiLSW1on0DtVxqXFxCVw0dcD+177Iex9LQSRiYiISH+lBLpEh7pyWPdQQNfdjZ+lmEEsnJQboaBERERERKQ3TRmWwfAs395H7xadorymsfMTXHw3jFvka1s3/OMzUHYohFGKiIhIf6IEukSHXf+B5gZv88XmuSxzn8eApHhmjxkYwcBERERERKS3GGO4dLJvAU2z27Jq5/HOT+CKg+sfgcxRvr7aU/DMp6CpvuPrRERERDqgBLpEh8LnA5p/b14IwEUTckiI0x9TEREREZH+YnFBYAnH5Z2tg94idSB85HGIS/L1HdkI//l2CKITERGR/kaZSYm8+irYs8LbPGXTedc9GUDlW0RERERE+pk5+QMZkBTvba/eWUp9U3PXJhk2A668P7Bv/SPw/lMhiFBERET6EyXQJfJ2vwpNdd7m8uZZNBGPMXDxxJwIBiYiIiIiIr0tMd7FxX4Laarqm3hn36muTzTzFpj+ycC+F78MJdt6GKGIiIj0J0qgS+RtfyGgucw9B4BzRmQxOD2pvStERERERKQPW1yQF9BeXljc9UmMgasegCHTfH1NtfDUzVBX0cMIRUREpL9QAl0iq6EGdr3qbVbYVN50TwXgEpVvERERERHply6emENCnPG2VxQex1rb9YkSUuCmv0Jypq/v1F54/vPQnflERESk31ECXSJr70porPY2l7tn0ohT71AJdBERERGR/ikjOYG5Ywd528UVdWw5Ut69yQbmw7UPBvZtfxHe+k0PIhQREZH+Qgl0iazCVuVbms8DIC8jiSnDMiIRkYiIiIiIRIG2ZVxKuj/ZxCUw/67AvhX3wv43uj+niIiI9AtKoEvkNNXDzmXeZpVNZq3bqU84f3wOxpiOrhQRERERkT7u0skhTKADLPwO5C/wtW0zPPNpqOxGfXURERHpN5RAl8jZuwoaKr3Nle6Z1JMIwJwxAyMVlYiIiIiIRIFhWSlMHe57KnVHcSWHTtV0f0JXHNzwZ8gY7uurPg7P/Bc0N3Z/XhEREenTlECXyCl8PqC5rHmO9/XsfCXQRURERET6u8WThwS0X+3pKvS0wXDjY+BK8PUdfNsp5yIiIiLSDiXQJTKaGmDny95mjU3idfc5AAxOT2LMoNRIRSYiIiIiIlGibR30EJRbGTkbLv9RYN/bv4Vtz/V8bhEREelzlECXyNi/BurKvc1V7nOoIwmAOfnZqn8uIiIiIiJMHjqA4Vkp3vb6/acpq2no+cRzboOpNwT2Pf8FOLG753OLiIhEq4pjcPAd56u1kY4mZsRHOgDpp1qVb3nFr3zLrNEq3yIiIiIiImCMYXFBHn95az8AzW7LazuOc93MET2dGK7+FZRshdIdTl9DFTz1SfjsSkhK79n8IiIi0eT4dnj9J1Do97RVSjbkToG8AsgtgLwpkDsZkgZELs4opQS69L7mJtjhK9/SaBJ4zT3D256j+uciIiIiIuJxmV8CHWB5YUnPE+jgJMlv+is8vNBJnoOTTH/xy3D9I06SXUREJJaV7oTV/wNbnwVarTivPQ0H3nAOf1mjfIn1vCnO60FnQVz/TSP33+9cIufAm1Bz0tt8i+lU4zyWmZ4Uz+ShGZGKTEREREREoszs/IFkJMdTUdcEwOpdpdQ1NpOcENfzyXMmwDW/g2c+5evb+g8YNdcp8yIiIhKLTux2Eudb/kGbxPmZlB10jl3LfH1xiTB4YqvV6gWQMaxffOCsBLr0vlblW56rn+V9PXN0NnGuvv8XT0REREREOichzsUlk3J57r2jANQ0NPP23pMsnJQbmhtM+TAc/m9nI9EWr9wNQ6c7G46KiIjEipN7YfVPYcvTYN1tzyekwZRrofo4lBRCxeHOzdvcACVbnMNfcpYvmZ5X4KxWz50MyX1rcawS6NK73M2w4yVf08Sz0j3T254zJjsSUYmIiIiISBRbXDDEm0AHeLWwJHQJdIBL74UjG+Hg207b3QhP3wJ3roW0waG7j4hIMHXlTvJzz0oYejZM/wSMmQ8uV6Qjk2h3ah+svh8+eApsc9vzCakw+7Mw78uB/6/Vnnbqo5dsg+OFTlL9eCHUV3TuvnVlTqWJA28G9meOClytntdSBiah+99jBBmrHVc7xRhjAfTr1UMH3oJHl3ib29PnsuTEl7ztp26fy3ljB0UiMhEREemnjOexU2utHoPrZ/QeP3ZU1Tcx8/vLaWh2VtPlDEji3bsX4Qrl06sVx+DBi5xVeS3yF8DN/wJXCMrFiIgEs/1F+PfXofJYYH/2GJj+SZj+ccgcHpHQJIqdKoI1D8D7/9t+4jw+2Zc4T+/kB8/WQvlhT0J9qy+pfmIXuJu6H6srAXImwjkfhQu+2P15OimU7/G1Al16V6vyLS82+h6JTIxzcc7IrN6OSEREREREolx6UjznjxvE6l2lAJRW1vP+4TJmjArhE6wZQ+HGR+Gxpb4kRNFqWPUjWPR/Q3cfERF/5Udg2TcCntYPcHo/rPohvP4jOOtSmHEzTLgC4hN7NUyJMqcPwNoH4L2/tZ/UjkuC2Z+Bef8HBuR1bW5jIGukc0y43Nff1AAnd3sS6tucryXbOl8Gxt3oJOSrT3QtniigBLr0Hrfb+UTVw5o4/lY+1dueNiIzNBsBiYiIiIhIn7O4IM+bQAdYXlgS2gQ6wJgLnXIuy/0S5msfgBGzYeIVob2XiPRv7mbY8GdY8f+gofLM460bdr/qHKmDnVW8M29xVvRK/1F2yPl/afMTHSfOz/0vuPArzgfDoRSf6CvHwo2+/toypwxMS1K9pRRMfXn78+RNCW1cvUAlXDpJj3eGwKH18KdLvc3S3AuYffC/ve07F4zjW0smRSIyERER6cdUwqX/0nv82FJSUcd5P1rpbY/PTWf5VxeE/kbWwtM3Byz+ITkTbl8NA/NDfz8R6X9KtsELX4IjG9qey5kES/7HSZRu/iscejf4XCPmwMybYcp1kJQenngl8sqPwNqfwabHnZXcrcUlwsxPwfyvQsaw3o+vNWuh4ojzZ92/vvqJXXD76zBk6plm6DGVcJHYVPhcQPPd5AsD2nPytYGoiIiIiIi0Ly8jmXNGZPL+YWdF2+7jVew/Uc2YwWmhvZExcM3vnB/0T+11+urKnaT6Z5ZDQkpo7yci/UdjrbNJ6Fu/brt6OC4RLvqGU6u6pTzLzJuhdKeTSH//71Bd2nbOw+ucY9m3YOq1MOMWGDnH+bdMYl/FUVj7c9j0GDQ3tD3vSnCeRJj/Vcgc0fvxdcQYJ57MEW3LwLhiLx2tFeidpNUpPWQt/OpsKDvotI2LT2Y9xhvHnJItxsB737uMzJTY3I1XREREYpdWoPdfeo8fe3772m4eeHWXt/2dKydz20Vjw3Ozkm3w8CJoqvX1zfikk1wXEemqfa/DS1+BU/vanht9IVz9Sxg8vuPrmxth1yuw6a+wZ7lT0qUjgyc6/16d8zFIz+lx6H2Ouxn2r4Utz8DR9yF1oFMKZ/AEz9eJzoabkfwQorIY3vgFbHgUmuvbnnfFO7/H8++CrFG9H18MCOV7fCXQO0lvrnvo6GZ46GJvs2nUPCbs/gJuzy/npCEDeOX/XBSZ2ERERKRfUwK9/9J7/Nizs7iSy3+5xtueM2YgT995fvhu+P5T8K/bA/uW/sZZ7Sci0hnVJ+HV78L7f2t7LjkLLvuhkwjtSrK24qizeeTmJ+B0UcfjXPHOhqMzb4FxiyAu9lb+hoy1Tm5qyzOw9Z9QVRJ8fHJW26R6zkTIHAkuV/jirCyBN3/p1Mdvqmt73sTBjE/A/K9B9ujwxdEHqISLxJ7C5wOaRTmLcPsWjjAnf2AvByQiIiIiIrFmQl46owamcvBUDQAbDpziVHUDA9MSw3PDcz7ilEZY/4iviSPsLQAAIABJREFU7+WvwZCzYdj08NxTRPoGa+GDp+E/d0PNybbnp94AV/zYWencVRnD4KKvwYVfhQNvOKvSt7/QNuHqboIdLznHgGEw/eNOsr4/7edwYo+TNN/yjK8sV2fUlTn151vXoE9IhUFnBSbVcybCwLEQ14OqClWlTuJ8/Z8Cn3xqYeKcJwou+lr/+v2LEmFdgW6MGQDcBVwP5APNwC7g78BvrLXtFO8545z3Avd0Yuh4a+2ers4f5L5andJd1sJvZgY8pvSHc1/mf9707cb764/NYOk5UbDJgYiIiPQ7WoHef+k9fmz6wUuF/OkN34rLB248hxvODWPd16Z6eHQJHNno68sa5WwqmqqFQCLSjlNFTrmWfavansscBR/6OYxfHNp71pY5SeLNf4Vj7wcfO2a+syp98tV9c1+HimOw7VlPiZbNwceaOLDNPb+nK95JoresWM+Z5LwePB4Sg+zVUX0C3vyV80FtY0078bng7I86ifNB43oeZz8SEyVcjDGjgdeBMZ6uGiAOSPK0NwOLrLWnuzjvvTgJ9EbgVJChc621+7sy9xnuqzfX3VW8Ff44z9ceOZebmu5lXZHvt++duxcxJDM5AsGJiIhIf6cEev+l9/ix6Z19J/noQ+9425dPyePBm2eF96Zlh+DBi6DW70fQ8ZfBx54K76P8IhJbmhvh7d/B6z9pu4rYuGDu52Hht4MnVEPh2AdOIv2Dp52V1B1JyoSzb4QZN8f+UzW1ZbD9RdjyNBStBYL8327iYNxCmHYTTLrSWalfugtO7HQ2bS3d6bxu2cevpzJHQc4EX1I9ZyIMGAIb/wLvPgSN1e3E6IJpNzobyw4+KzRx9DNRn0A3xsQDm4BpwDHgFmvtCmOMC7gReBgYAPzbWntVF+e+FyeBvtpae3Eo4z7DffXmurteuw/W/NTbbFr8QwqWnUVDk7PhxciBKaz9xiWRik5ERET6OSXQ+y+9x49NTc1uZt23grKaRgBSEuLY/L3FJCfEhffGe1bCE9cTkJRZ+F1Y8PXw3ldEYsORjfDCl6FkS9tzQ8+Bq38Fw2b0bkyNdU75lk2PQ9Hq4GOHTIMZt8DU6yBtcO/E11ONdbD7P85K812vtr/Zpr8Rc+Dsm6Dgw53bXLWhBk7udpLrpTs8CfZdTikYd1Novoc2DEy7wUmc50wI0z36h1iogf4pnOQ5wPXW2rcBrLVu4ClPIv1vwJXGmEXW2pVhikOiwfYXApqFWRfT0OT7FG/2GD32KCIiIiIinRMf5+KSibk8u/kIALWNzby55wSLJueF98ZnLXJWjq66z9e36j4YcS6M04IgkX6rvtJZOLjuQbDuwHMJqbDwO3DenZHZwDMh2UnGTrsBTu+HzU/Ce09CxZG2Y4u3wLKvO0d6nq8MiffrpOhIrLuboWiNkzTf/iLUVwQfnzPJWck99fqu1w5PTHU+/Bh6TmB/c6NTpsc/qX5iJ5zY3X4Zlk4xMOVaWPBNyJ3UzTkkXMKZQAdY1ZI8b+XvwH04ddFvAZRA76uO73D+QWkx/FzeLE0NGDJHCXQREREREemCxQV53gQ6wPLCkvAn0AHmfw0Or4fdr3o6LPzjM3DHGsgaGf77i/Q31kJlMbgbIXMkmCh7WGznK/DyXVBxuO25sy6Fq34O2aN7P672ZI+BS74DF38L9q6CzY/Djn87v7atVZU4R9GawP7UQa2S6p6v6Xnh/b2xFo5ugg+ecWqbV5UEH58xAqZd7yTO86aGPra4BE9JllYrxN1uKD8EJ3b5ysC0rF4PVkqn4BpY8C3IKwhtnBIyIU+gG2NSgZaC18vaG2OttcaYV4DPAZeFOgaJIq1WnzN5Kev3BJaun52vBLqIiIiIiHTeRRNySIx3ectCrth+HLfb4nKFObnmcsG1D8JDC3y1cWtPwTOfgk8vg/ik4NeLSOc0N8H25+Gt3/g2gUzKgLwpnmOqU3Ikd3L464m3p7IYln0TCp9rey4tB674ibPiOdoS/gCuOBh/qXNUn4APnoJNf4XS7We+tuYkHHjTOfwlZ7WfWM8Y1rNfgxO7nZXmW56BU/uCj03JdkqzTLsRRp0fmf0pXC7nA5Ps0YGbxFoL1aWBSfXTRc6HQrNuhSFTez9W6ZJwrECfDLT8Kd0aZFzLuSHGmIHW2mAbgrZnijFmKzAWcANHgDXA7621Z9hiV3pNYWAC3T1pKRtW7Pa2B6UlMnZwBP6zExERERGRmJWWFM+8cYNYtbMUgBNV9Ww+VMa5o7PDf/PUgXDT4/Cny331do9shP98G676WfjvL9KX1VfC5ifg7d9DeasNHOsr4ODbzuFlYOBYJwGZ5zmGTA3fanW3GzY9Bsvvgfrytudn3AyLv+/8OxEL0gbD+V9wNjc9shG2/QtKtjrVBKqKOz9PXRkcesc5/CUOaKcUzETn96ejBHfFUdj6rJM0P/Ze8PvGpzibgE67EcYtgvjEzsfcm4yB9FznyJ8f6WikG8KRQB/m97qdokrtnhsGdDWBPhgYCJQBGcAEz/EZY8yPrLXf7eJ8Emon9wZunjHkbHY2Dqaizvep5qwx2d6i/iIiIiIiIp21uGCIN4EOThmXXkmgg7MR4JX3w4tf8vWtf8TZoO6cj/RODCJ9ScUxp4b4hj9DXTuJ6Q5ZZ0PHU3uh8Hlfd1Kms1J9yFTPivWW1eqpHU91JqU74cUvt0rgeww6Cz70y9hNjhoDI2Y5R4va077yI6U7fV/bK1fTkYZKOLLBOfwlpMLgCYGJ9ZoTTtK8aC0BmzW3iTXO2Xdi2o0w6SpISu/StyrSHeFIoA/wex2scr7/uQEdjmprN/AN4HmgyFrbaIxJBC4GfgScC3zHGHPaWtvpj/+NMUH+dkq3+P/nBVCwlPX7W5VvUf1zERERERHphksn5/Ltf/naywuL+daSXtx4beYtcGgdvPeEr+/FL/sSdiJyZiWF8PZv4YOn26/FDU7t7twCKNkGZQc6N299ORx8yzm8DAwa51ul3rJiPXNE8NXqTfWw9uew9mdtY3QlwIVfgfl3ORt29iUp2TDqPOfwV1fhlFYp3RGYXO/s7w04G20ee+/MK8z9jTzPSZpPuTY6NjOVfiUCWwD3jLX2yXb6GoBXjTFrcMq4zAbuNcY8Yq3tykeXEkqt658XfJj1y08HdM1R/XMREREREemG3Ixkpo/M4r1DzsZse0ur2VdaxdicXlqNaAxc9QAUvw/Fnidvm2rhqZvh9tchOaN34hCJNdY6m1O+9WvYs6LjccNnwbwvwaQPOXW7wVmdXlLolBkp2QrFW+F4oZOQPfON4eQe5/CvXZ6cGVj+JW+Kk7BPSIH9bzofjJ3c3Xa6kefB1b9yVrb3J8kZMOJc5/DXUO1JrO/0S67vgNP7wbq7d6+cSU7SfNoNzgcpIhESjgR6pd/rYM/G+J+r7HBUF1hr64wx3waWA+nAIuDZTl4btI6IVqh30ekDvo0+AHILsIPOYn3Ra96utMQ4CobqTaWIiIiIiHTP4oI8bwIdnDIudyzoxcf5E1Lgpr86m4q2lJ04tRee/7zTr3KVIj7NjbDtOSdxXvxBB4OMU5bjgi86CerWf4eSM2H0+c7Rwu12NmQs3uKsUm9JrLeuod6RuvK2G2MaF2SNduZtLSkDLr0Hzr01MhtVRqvENBg23Tn8NdY6H1oEJNZ3OmV/bXPbeTJGOAnzaTc6H2bo31GJAuFIoB/1ez0c6OhfxeEdXNNT/sWoxoZwXumK1qvPJy/l8OlaiivqvF0zR2cTH6f/bEREREREpHsuK8jj/v/s9LadBPq43g1iYD5c+yD870d9fdtfhDX3O2UdWlbOivRXdRWw6XF45w8d18+OT4bpH4e5X4DBZ3VtfpfLKc0yaBxM+bCvv7bMWZ1evNW3Yr2k0HlS5Eysu/3k+eSrYcn9kDG0azH2ZwkpMGSac/hranA+cGxJqFs3jL0YRs7VBxMSdcKRQN8OuAEXMBVY1sG4qZ6vxdbarm4gKtGuTf3za1hXpPrnIiIiIiISOmflpjNmUCr7TzrlGzYePM2JqnoGpyf1biATlzjJ8rV+23Ctug/eexLOuxOmf0IlXaT/qTjqJM03/gXqK9ofkzoIZt8Gc24LfV3rlCwYfYFztHA3w6kiKNniSax7VqyXHwo+14BhTsmmSVeFNsb+LD7RKX/T30rgSEwKeQLdWltjjHkTmA9cAdzfeowxxgCXe5qvhjiEuX6v2/m4UMKu/AgcXu9rDxoPuZNZ/8aWgGFKoIuIiIiISE8YY1hckMfDa50f/ayF17Yf56bZI3s/mIXfgcMboGi1r+/0fnjlW/DafTDzZphzu7NiXaQvK97qbAy65RlwN7U/ZuA4OP8LcM7HIDFY9d8Qc8U5K9wHn+VsRtmi9rSvtnpLKZjjhc6q6HM/DZd8Vx+CifRj4dpE9DGcBPpCY8x51tp3W52/EV95lcc7O6kxxlhrO6xFboxJAu7zNKuBlZ0PWUJm+4uB7YKlYAzr9vtWoCfEGaaPzOrlwEREREREpK9ZXDDEm0AHeLWwJDIJdFcc3PBn+Ou1bes7N1TCO793VuNOugrmfg5Gz1NtX+k7rIV9q+Ct38De1zoeN3KuU9984pLoKm+Ukg1j5jlHC3ezk0CPS4hcXCISFcKZQP8yMA34pzHmU9balcYYF3A98LBn3DJrbUCS2xhzL3CPp5lvrd3vd/oiY8z/9cy/ylp72HNNAnAR8GNgtmfs9621ZUjva6d8y4mqevaVVnu7pg7PJCUxiv6zFBERERGRmHTu6GwGpiVyqroBgDf2lFLb0ByZnzfSBsNtrzk/E73zeziysdUACzteco4h02Du52Hq9RDfyyVnJLa4m51NGI9uhqPvOZtepudCxjAYMNT3NT0P4sKV5ulAUwNse9ZJnJds7WCQcWqHX/BFGDmnV8PrEVccoLyFiIQpgW6tbTLGLAVWAWOAFcaYGpy66MmeYZuBT3RxagMs8hwYY2pxVppnAi0fCbqBn1hrf9qT70G6qbIEDvrt45o9BoaczYZtJQHD5qh8i4iIiIiIhECcy3DJpFz+sdHZnLCu0c3a3aVcNmVIhAJKgGk3OMeh9U4ivfB5sM2B44q3wHOfg+X3wOzPwKxbnaSo9G9uN5za50mWb4Zj78Gx96Gh6szXGhek5TobXA4Y5iTWva/9viYN6HmcdeWw8THnqYrKo+2PiU+BGZ90nrgY1Mub+4qIhFDYPpq01u43xpwNfA24DsgHGoFtwP8Cv7HWNnRx2i2e+c7HWd0+GMgCaoBCYC3wkLV2S4czSHjteBHwq7Iz2Snfsn6/NhAVEREREZHwWFyQ502gAywvLIlcAt3fyNkw8lEoPwzrHnY2U6xr9aB09XF4/cfOBqTTboK5dzqr06XvsxZOFzmryr0J8/c73nDzjPO5oarYOdjc8bjEAZ6E+tC2q9hbEu3pue2XWCk/7NkY9DGnNFF7UgfDeXfArM9A2qDufS8iIlHEBCkpLn6MMRZAv15n8NjVULTG1/7sazDiXJb+9g0+OFzu7X7ve4vJSk2MQIAiIiIigYynBrG1VsWI+xm9x+87ahqamPH95dQ3uQEYlJbIuu9cSpwryv5aN1TD+/8L7/wRTu7ueNyY+U55lwmXR1edaOk+a6H8kC9R7i3HEqWVZ02cUxLGP9Fec9J5mqKjjUEHjYcL/hvO/ggkpPRuvCIirYTyPX4vF8eSPq36BOx/09fOGAHDZ1Jd38S2o75P0CfmDVDyXEREREREQiY1MZ754wezYvtxAE5WN7Dp4Onoe/I1MQ1mfxbOvRX2rnTKu7S34eL+tc6RnQ/n3QkzPhGashvSO6yFiqOtkuWbofbUma9tT9YoGDbDd2SMcFaZVxxzyqcEfPUcHSW5O/09NDtzdlSexd/oeU598/GXg8vVs/uKiEQhJdAldHa8HFjXr8Ap37Lp4Gma3b5VPbPGZEcgOBERERER6csWF+R5E+jglHGJugR6C5cLxi92juPb4d0/wvt/h6a6wHGni+CVb8Kq+2DGzXDe7c4+UxJdKovbriyvPn7m69qTMQKGTfcly4dOb78MyuCzOp7D7YaaE04Sv/KY39dWCfe68o7nOBPjckq2XvBFGDGr+/OIiMQAJdAldAqfD2wXXAPA+qLAT9nn5Efpm1gREREREYlZl0zKw5gttFTkWV5Ywt1LJnkf4Y5auZPh6l/BJd+DTX9xaqVXHgscU18B7/wO3v0DTLzSKe8y+gKI9u+tL6o+0XZleevfr84aMNSXJB82w0mch2IjWZfLmSc9F5je8biGaif53ybR7pdwryoOXM2ekOp8mDP3czAwv+exiojEACXQJTRqT0PRal87fQiMmAPAOm0gKiIiIiIiYZYzIImZo7LZeOA0AEUnqtlbWsVZuTFS+iRtEMy/Cy74krM46e3fwdFNgWOsG3a85BxDznYS6VOvg/ikyMTc19WWwTHPBp9HNjkry8sPdm+utJzAMixDpzv1xSMpMQ0GjXOOjribnQ8NKo9CQw3kTYGUrN6LUUQkCiiBLqGxc1ngp9KTrwaXi4YmN+8d8m2KMjwrhWFZ2kxERERERERCb3FBnjeBDrC88HjsJNBbxCXAtBtg6vVweL1TJ73whcBymQDFH8Bzd8Ly7zl11WfdCuk5kYm5L6ivcn5NvcnyzXBqb/fmShkYmCwfNsPZhDMWnxhwxcGAPOcQEemnlECX0OigfMvWo+XUNbq93SrfIiIiIiIi4bK4II+fLNvhbS8vLOZzFwdZXRvNjIGRc5yj7BCsfxg2/qVt3erq4/D6j2Dtz2DajXD2TTBwrFMeJE4/8rersQ5KtgYmy0/sdFb4d1VyZtuV5VmjYjNZLiIi7dL/ptJzdRWBO8enDnbq8dG2/rnKt4iIiIiISLiMy0lnbE4a+0qrAdh8qIzSynpyBsR4iZOskbD4+7Dgm/De35xNR0/uCRzTXA/vPeEcACYOModD5ignoZs10vmaOdJ5nTEC4hN7/3vpbc2NcLzQV6/8yCan7f8EdWclpjsJ8uF+yfKBY5UsFxHp45RAl57b9R9obvC1J3/IecwLWL+/9Qai2b0ZmYiIiIiEiDEmFVgAnAvM9Hwd5Tn9/6y194bgHnnAN4APeeauBbYBjwF/srZle0iRji0uyOPB1fsAsBZWbi/ho3NGneGqGJGYBnNug1mfgT0rnPIu+1a1P9Y2Q9lB5zjQ3gDjrFJvL7meNRoyR0BCjJXfdDfDiV2ByfLiLc6HC10Vn+zUmR82A4bPdL4OGu9s0CkiIv2KEujSc4XPBbY95Vvcbsv6/b76g9mpCYzLSe/NyEREREQkdOYA/w7X5MaYc4H/AIM8XVXAAOBCz3GDMWaptbahgylEALjML4EOsLywDyXQW7hcMOEy5ygpdFakf/AUNNV1YRLrbAxZeRQOvdP+kLTcVsn1UYGJ9qQQ15e31lkZ3tzgORqdr031vtfer57Xtafg2PtOsvzY+9BY3fX7uhKczTH9k+U5k1UCR0REACXQpafqq5yVDy1SsmHMfAB2H6+ivLbRe2rWmIEYPdomIiIiEstOA5v8jl8AQ3o6qTEmE3gJJ3m+A7jZWrvBGJMI3Oa5z+XAL4HP9/R+0rdNH5nNoLRETlY7n7Ws2V1KSUUdeRnJEY4sTPIKYOmvYdE9sONFOLkXyg95Vp8fcmqkd1f1cec4srH98ynZvoR62mBobif53eboIBHe8jrcjMtJjg+b4SvFkjcV4mO8zI+IiISNEujSM3uWB65ymHiVs2s8sK51+RbVPxcRERGJZWuttQFv6IwxPwnR3F/DScTXAldaa4sAPKvNf2eMyQB+BNxujPmltXZXiO4rfVCcy7Bk2hCeeOcgAI3Nlj+/UcTdV06OcGRhljYIzv2vtv2NtVB+GMoOOAl1/+R62UGoPAZ0szpS7WnnOPZ+TyIPr0HjA1eWD5nmlMIRERHpJCXQpWcKnw9se8q3AGxolUCfna8EuoiIiEisstY2h3H6Wzxf/96SPG/lN8C3gXTgE8A9YYxF+oBb5+Xz5LsHaama/+S7B/n8wrPITEmIbGCRkJACg8c7R3uaGqDisC+hXn7I7/VBKD/i1FOPBVmjA5PlQ8+B5MxIRyUiIjFOCXTpvsZa2PWqr52UCWMXeJvri3wJ9JSEOKYMy+jN6EREREQkBhhjJuLbjHRZe2OstVXGmLXAEuAylECXMxibk84VU4awbGsxAFX1TTz57gE+f/FZEY4sCsUnwsCxztGe5iZnlbo3uX4w8HX54c6VXolLgrhE54nluMRWr/364hODn2/9Oj4ZcibC0BnOKnwREZEQUwJdum/PysANWiZe4a0bd/h0DUfLfaVdZo7OIiFOu5WLiIiISBtT/V5vDTJuK04CvSC84UhfceeCcd4EOsCjb+7n1nn5JCfERTCqGBQX79lIdGT7591uqCqB+gq/5HZSYKLbFQfaD0tERGKUMprSfUHKt6xvXb5F9c9FREREpH3D/F4fCTKu5VyGMSY9jPFIH3HOyCzOH+tbkVxaWc+/Ngf7Iybd4nJBxlBnFfjAsZA5AtJzICULElOdBLyS5yIiEsOUQJfuaaqHXa/42onpMO4Sb3Nd0emA4Uqgi4iIiEgHBvi9rgkyzv/cgA5H+THG2GBHt6KVmHLnxeMC2g+t2UezW7/1IiIi0nlKoEv37HvdeUSvxfjLnM1pPPxXoMe7DDNGZfVicCIiIiIiInDR+MFMHurbi6noRDWvbisOcoWIiIhIICXQpXuClG85Vd3AnuNV3vaU4ZmkJqrcvoiIiIi0q9LvdWqQcf7nKjsc5cdaa4Id3YpWYooxhjsXBG6O+cfVe7FWq9BFRESkc5RAl65rboQdL/va8SkwfrG3uaFV/fM5Y7J7KzIRERERiT1H/V4PDzKu5VyFtbYqyDiRAFdNG8qIbN/Tsu8fLuftfScjGJGIiIjEEiXQpeuK1kBdma89/lJITPM2tYGoiIiIiHTBVr/XU4OMazlXGMZYpA+Kj3Nx2/zWq9D3RSgaERERiTVKoEvXtSnf8uGA5rr9gRuIzlICXUREREQ6tgs46Hl9RXsDjDFpwHxP89XeCEr6lptmjWRgWqK3vWZXKYVHK4JcISIiIuJQAl26prkJdrzka8clORuIetQ0NLHtSLm3fVZuesAbVRERERERf9YpRv24p/lRY8yYdoZ9AUgHmoEneycy6UtSEuP41PljAvoeXLM3MsGIiIhITFECXbrm4FtQ41cv8KxFkOzb1X7zwTKa3L4NeVS+RURERKTvMMZkG2MGtxz4fp5I9e83xqS3uu5eY4z1HGPamfoBoBhno9CXjTHneq5LNMZ8DviBZ9xD1tpd4fjepO+75fzRpCTEedsvfXCMQ6dqIhiRiIiIxAIl0KVrWpdvmbw0oLmuqNUGovnaQFRERESkD9kMlPodIz39X2/V/9uuTGqtLQc+BJwECoANxpgKoAr4PZCIU7rlKz3/FqS/yk5L5COzR3rbzW7LI2tVC11ERESCUwJdOs/thu0v+tquBJgYWKZywwFtICoiIiIiXWet3QhMAX4B7AYSgGrgDeA2YIm1tj5yEUpf8Nn5+cS5jLf91IZDnKzSHysRERHpmBLo0nmH3oWqEl977MWQ4lth3tjsZtOBMm97WGYyI7JTey8+EREREQkra+0Ya63pxPFfra671+/c/iDzl1hrv2qtnWCtTbHWZltr51trH7HWusP9/UnfNyI7laXnDPO26xrdPPb2gQhGJCIiItFOCXTpvNblWwoCy7dsO1pBbWOztz07X6vPRUREREQkutyxYGxA+/G391PT0BSZYERERCTqKYEuneN2w/YXfG0TBxOvChiyvkjlW0REREREJLpNGpLBwok53nZZTSNPrT8UwYhEREQkmimBLp1zdBNUHPG18+dD2qCAIev2K4EuIiIiIiLR784F4wLaj6wtorFZVYJERESkLSXQpXMKnwtsTw4s3+J2Wzb4JdAzUxIYn5veG5GJiIiIiIh0yZz8gUwfmeVtHymr5aUPjkYwIhEREYlWSqDLmVnbqv65gclXBwzZW1rF6ZpGb3v2mGxcfrvbi4iIiIiIRAtjTJtV6A+u3oe1NkIRiYiISLRSAl3O7Nj7UHbQ1x49D9JzA4as3386oK3yLSIiIiIiEs0uK8hjbE6at72juJLXd5ZGMCIRERGJRkqgy5kFrD4HCpa2GbK+df3zfCXQRUREREQkerlchjsuGhvQ94fVeyMUjYiIiEQrJdAluDblW2hTvgVgXZEvgZ6c4GLqsMxwRyYiIiIiItIjH54xnLyMJG97XdEpNh08HeQKERER6W+UQJfgjhfCKb9VGCPPg4xhAUOOltVypKzW254+MovEeP3REhERERGR6JYUH8et8/ID+h7UKnQRERHxoyynBNdm9fmZy7fMUf1zERERERGJER87bxQDkuK97VcLS9hbWhXBiERERCSaKIEuwXWi/rl/+RZQ/XMREREREYkdGckJfGLuaG/bWnho9b4IRiQiIiLRRAl06VjpTijd4WsPmwlZo9oM81+BHucyzByV3RvRiYiIiIiIhMSt88aQGOf78fhfm49QUlEXwYhEREQkWiiBLh0rfCGw3c7q87KaBnaV+B5vnDIsgzS/xx9FRERERESiXW5GMtefO9zbbmh28+c3iiIYkYiIiEQLJdClY52of75hf+AO9bNV/1xERERERGLQbfPHYoyv/eS7B6moa4xcQCIiIhIVlECX9p3cCyVbfO0h02DQuDbDWm8gqgS6iIiIiIjEorE56VwxZYi3XVXfxJPvHIxgRCIiIhINlECX9m1vVb5l8jXtDlvXKoE+a4zqn4uIiIiISGy6c0HgoqE/v1lEXWNzhKIRERGRaKAEurSvdfmWgrYJ9NqGZrYcLve2x+akMTg9KdyRiYiIiIiIhMU5I7OYO9b3VG1pZT3/2nwkghGJiIhIpIU1gW63xZfqAAAgAElEQVSMGWCMudcYs8UYU2WMKTfGrDfG3GWMSQzxvf5ojLGeY38o5+53yg7C0c2+ds5kyJnQZtjmQ6dpcltve47Kt4iIiIiISIxrvQr9oTX7aPb7uUdERET6l7Al0I0xo4EPgHuAqYABkoBZwAPAO8aYkNT7MMYsBG4PxVwCFLYq31LQdvNQ0AaiIiIiIiLS9yyYkMPkoRnedtGJal7dVhzBiERERCSSwpJAN8bEAy8CY4BjwGJrbRqQCnwUqARmAE+E4F6pwMNAE7Chp/MJnSrfAm03EJ2TrwS6iIiIiIjENmMMdy4YG9D3x9V7sVar0EVERPqjcK1A/xQwzfP6emvtCgBrrdta+xRwh+fclcaYRT28133AOOCnwLYeziUVR+HwOl970FmQW9BmWFOzm00HfCvQh2QkMyI7pTciFBERERERCaurpg0N+Pnm/cPlvLPvVJArREREpK8KZwIdYJW19u12zv8dKPK8vqW7NzHGzAW+BOwCftjdecTPzmWB7clLwZg2wwqPVVDd4NuNfnb+QEw740RERERERGJNfJyL2+a3XYUuIiIi/U/IE+iekirzPM1l7Y2xzrNvr3ial3XzPknAn3Fqq99ura3rzjzSyp6Vge1JV7U7bF1R4OqL2WNCUs5eREREREQkKtw4awTZqQne9updpRQerYhgRCIiIhIJ4ViBPtlv3q1BxrWcG2KM6U7x7O957vUna+3qblwvrTU1QJHfL2XKQBg2o92hreufawNRERERERHpS1IT4/nUBWMC+h5co1XoIiIi/U04EujD/F4fCTLO/9ywDke1wxgzA/gGUAJ8vSvXBpnTBjtCcY+od+gdaKjytcddAq64NsOstWzY76t/npEcz8S8Ab0RoYiIiIiISK/51PljSEnw/Uz00gfHOHSqJoIRiYiISG8LRwLdP5Ma7J2F/7lOZ1+NMfE4pVvi/z97dx4fdXXvf/x1ksm+E5awhiWIIAiICyIWd6gLcuWqFRHBqoit1dq6XPurWK+26FWv9YpaUQviArTiWqiComyCIJsoiCxhCYQlhOz7nN8fM5mFLCSQyWR5Px+PeWTO+Z7vmc98Lc3kM+f7OcBvrLXH6hee1OinRf7t3pdXO2znkQKyCko97bO7tyEkRPXPRURERESkZUmKCefGc7p62hVOy2vLdgYxIhEREWlsgdpENJAeBgYBn1hr5zXUpNZaU9ujoV6nSTu+/nmvS6odtqZK/XOVbxERERERkZbp9gt7EOqzYGju2r0c9VlQJCIiIi1bIBLoeT7Po2sZ53ssr8ZRPowx/YA/AvnA3fUPTWqUkwGHvve2Ow6C2PbVDv3muPrn5/bQBqIiIiIiItIydUmKZvRAb9XR4jIns1amBy8gERERaVSBSKDv93neuZZxvsf21zjK33QgHHgSyDbGxPo+cJV1ATA+/WE1ziZeO45bfZ52WY1DfTcQDXeE0L9zQqCiEhERERERCbrJI3r6tWd9nU5haXlwghEREZFGFYgE+hbA6X7ev5ZxlccyrbVHaxnnq4f7519wrVo//nGz+3g3n75f1XHu1q2O9c8zc4rZe7TI0x7UNZEIR9WNRkVERERERFqK01PiuahPO0/7WGEZc9fsDWJEIiIi0lgaPIFurS0EVribo6obY4wxwEh387OGjkHqqaIMdn7pbUcmQOezqx1apXyL6p+LiIiIiEgrcNeIXn7t15btoqzCWcNoERERaSkCtYnoLPfPi40x51Vz/Hqg8h64N+s6qbW2+wk2+qx83d0+/c+f/NtoJfatgZJcb7vnxRDqqHZolQ1EeyiBLiIiIiIiLd95PdowqGuip51xrIhPNtW1GqmIiIg0V4FMoH8HGOA9Y8ylAMaYEGPM9cAM97iF1lq/4tvGmMeMMdb96B6g+MTX9sX+7TrWPw8xcFa3xBrHioiIiIiItBTGmCqr0P/21U6stUGKSERERBpDQBLo1tpyYDSQjmuz0MXGmAKgAJgHxAPr8dYsl2A6vv55DQn0nKIyfjyY52n36xRPXKT2aBURERERkdbhin4d6NkuxtPempnHl9sOBzEiERERCbRArUDHWpsOnAk8DmwGLFAGfAv8Hhhqrc0O1OtLHeUdhMxN3naH/hDfsdqh3+4+iu/iinNU/1xERERERFqRkBDD5J/19Ot75csdQYpGREREGkPAEugA1to8a+1Ua+0Aa22stTbeWnu2tfZZa21pDec85lO/PL2erzfRfV73hoi/VdjxuX+7lvIt3+zy/75DCXQREREREWltxgzuTPu4CE979a6jrN+jtWEiIiItVUAT6NIMHF//vPflNQ71rX8OSqCLiIiIiEjrE+EI5bbhPfz6XvlKq9BFRERaKiXQWzNnBez4wtsOj4Ou51U7tLisgk37jnnaPdrG0M5n1YWIiIiIiEhrMe68bsRFODztz344yI7D+UGMSERERAJFCfTWLGMdFPncathzBIRWvynoxr3HKKvwFkA/p3tSoKMTERERERFpkuIjw7h5aKqnbS28+tXOIEYkIiIigaIEemu2fZF/u5b65yrfIiIiIiIi4nXbBd0JD/X+Sf3++gwO5hYHMSIREREJBCXQW7Pj65/XtoFouv+mOOf2UAJdRERERERar/bxkYwd0tnTLq1w8saKXUGMSERERAJBCfTWquCIq4RLpXanQ2LXaodWOC3rdnsT6O3jIujWJjrQEYqIiIiIiDRpd1zYE2O87XdW7SG3uCx4AYmIiEiDUwK9tdqxBPDWNK9t9fmWA7nkl5R72ud0b4Px/ZQoIiIiIiLSCvVsF8vIfimedl5JOW+v2hPEiERERKShKYHeWtWj/vk3u46vf64NREVERERERADuuqiXX/uNFbsoLqsIUjQiIiLS0JRAb42cTtj+ubcdFg2pw2ocXmUDUdU/FxERERERAWBQ10SG9vT+jXQ4r4T312cEMSIRERFpSEqgt0YHNkDhEW+7x8/AEVHtUGsta3w2EI2LcHB6SnygIxQREREREWk27hrhvwr91aU7qXDaGkaLiIhIc6IEemvku/ocai3fkp5VyJH8Ek97SPckQkNU/1xERERERKTSiNPa0bejd6HRriMFLPohM4gRiYiISENRAr01qkf98zVV6p+rfIuIiIiIiIgvYwx3jejp1/fyVzuxVqvQRUREmjsl0FubomzYt8bbTk6DNj1qHP7N8fXPlUAXERERERGp4qoBHemcGOVpb9x7jA82qBa6iIhIc6cEemuzYwlYp7ddy+pz8N9ANDw0hDO7JAQqMhERERERkWbLERrCHRf6L076w/ub2XE4P0gRiYiISENQAr21qVL//PIahx7KLWZ3VqGnPbBrApFhoYGKTEREREREpFm76bxu9POphV5YWsGv3l5HcVlFEKMSERGRU6EEemtiLWxf7G07IqH7BTUOV/kWERERERGRuotwhDL95rOICfcuPNqamcfjn/wQxKhERETkVCiB3poc3Az5PjvBdx8OYVE1Dl+bnu3XPqeHEugiIiIiIiK16dE2hr+MPdOv753Ve/ho4/4gRSQiIiKnQgn01uSnRf7tE9Q//2aXdwW6MTAkNSkQUYmIiIiIiLQoowd24qZzu/n1/dd7m9h1pCBIEYmIiMjJUgK9NfEt3wK11j/PLS5jS2aup903JZ74yLBARSYiIiIiItKiTL2mH6enxHnaBaqHLiIi0iwpgd5aFOfA3tXedmIqJPeqcfi3u7Ox1ts+p7tWn4uIiIiIiNRVZJirHnq0Tz30Hw7k8sS/VA9dRESkOVECvbXY+RU4y73t3pe76rLUYM2u4zYQVf1zERERERGReunVLpY//8cAv763Vu3hk02qhy4iItJcKIHeWlQp31J7/fM16f4J9HO7K4EuIiIiIiJSX2MGd+YX53T163v4ve/YnaV66CIiIs2BEuitgbX+CfTQcOh+YY3Di8sq2Lg3x9NOTY6mfXxkICMUERERERFpsaZecwZ9OnjroeeXlPOrd9ZRUq566CIiIk2dEuitweGtkJvhbXc7HyJiaxz+XUYOpRVOT/scrT4XERERERE5aVHhoUy/eTBRYd566Jszcvnzv7YEMSoRERGpCyXQW4OfFvm3e19e6/Bvdql8i4iIiIiISENKax/HE2P6+/XN+no3C787EKSIREREpC6UQG8NTrH+uTYQFREREREROXVjh3Th+iFd/PoefG8Te7IKgxSRiIiInIgS6C1dST7s+drbju8C7U6vcXiF0/Jteran3TY2nO7J0YGMUERERESaEWNMnDHmMWPMd8aYfGNMjjFmjTHmd8aY8JOc8zFjjK3DI62h349IY/vTtWfQu723pGZecTm/flf10EVERJoqJdBbuvRlUFHqbaddCsbUOHxrZi55JeWe9jnd22BqGS8iIiIirYcxJhXYBEwF+gMGiADOBp4BVhljkk7hJcqAg7U8yms+VaR5iA538NLNZ/nVQ9+0L4dpC7cGMSoRERGpiRLoLV09659/9v1Bv7Y2EBURERERAGOMA/gY6A4cAC631sYA0cAvgDxgMPDWKbzMSmttSi2P9FN7FyJNQ+8OcTx+7Rl+fX9fkc6n32cGKSIRERGpiRLoLZm1sN0ngR7igB4jahlu+XBDhl/fZX07BCo6EREREWlebgUGuJ+PtdYuBrDWOq21c4HJ7mNXGmMuDUaAIs3J9Wd35bqzOvv1PfCPjew9qnroIiIiTYkS6C1Z1nY4tsfb7joUIuNrHL5xXw7pPpvXnNUtkW6qfy4iIiIiLre6fy6x1n5dzfE5wC738wmNE5JI8/bEmP6k+dRDzy0u59fvrqe03BnEqERERMSXEugt2fbF/u3el9U6/IP1/qvPxwzuXMNIEREREWlNjDHRwAXu5sLqxlhrLfBvd/OKxohLpLmLDncwfdxZRIZ5/zTfuPcYT/9b9dBFRESaCiXQW7Lj65+n1ZxAL69w8smm/Z52aIjhqgEdAxWZiIiIiDQvffH+7bC5lnGVx1KMMSezmc4ZxpjNxphCY0y+MeZHY8wMY8zgk5hLpFnokxLHn0b710N/bfkuFv1wsIYzREREpDEpgd5SlRXB7hXedmwKdOhf4/AVO7I4kl/qaf+sd1uSYyMCGaGIiIiINB+dfJ5n1DjK/1inGkfVrC2uZH0REAGcBtwOfGuMeaK+kxljbG2Pk4hPJCBuOLsrYwb5/5P5/T82si9b9dBFRESCTQn0lip9OZQXe9tpl4ExNQ7/UOVbRERERKRmcT7Pa8vo+R6Lq3FUVT8BDwJ9gEhrbTIQA4wEvgUM8AdjzO/qMadIs2GM4cn/GEDPdjGevpyiMu55dz1lFaqHLiIiEkxKoLdU9ah/XlRawaffZ3raUWGhXNa3Q6AiExERERHxY61921r7P9babdbaMndfqbX2M2A4sMY99DFjTEI95jW1PQLwVkROWkyEqx56hMP7Z/r6Pcf4n09/DGJUIiIiogR6S+Vb/9yEQM+Lahy6aMtBCkorPO0rzuhATIQjcLGJiIiISHOT5/M8upZxvsfyahxVD9baYuARdzMWuLQh5hVpivp2jGfqNf710F9dupMvtqoeuoiISLAogd4SHd0JR3d4213OhaikGodXKd8ySOVbRERERMTPfp/ntX1Y9D22v8ZR9fe1z/OeDTivSJNz07ldGT3Qvx76/fM2sv9YUZAiEhERad2UQG+Jtn/u306ruXzL0YJSvtp22NNuExPO8N5tAxWZiIiIiDRPW4DKQsw170zvPZZprT0a2JBEWiZjDH++bgA92nrroR8rVD10ERGRYFECvSWqR/3zBd8doNxpPe2rz+xIWKj+ZyEiIiIiXtbaQmCFuzmqujHGGINr00+Azxo4hKE+z3c18NwiTU5shIMXxw0m3Kce+re7s3n2s21BjEpERKR1Uqa0pSkrhl1Lve2YdpAysMbhH27wL99yrcq3iIiIiEj1Zrl/XmyMOa+a49fjLa/yZl0ndSfeazseATzpbhYAn9cyXKTFOKNTAo9e3c+v75WvdrDkx0NBikhERKR1UgK9pdnzNZQVetu9LoWQ6v8z78suZE16tqfdrU00Z3VLDHSEIiIiItI8zQK+AwzwnjHmUgBjTIgx5npghnvcQmutX5LbGPOYMca6H92Pm/dnxpjFxphbjDFdfM4Jc7/GMqAyYf+4tfZYg78zkSbq5vO6cdWZHf36fjdvIwdyVA9dRESksQQ0gW6MiXN/WP7OGJNvjMkxxqwxxvzOGBN+knOOMMY8aYz51BjzkzEm2xhTZow5ZIxZYoz5jTEmqqHfS7NxfPmWWuqff7jBf1+nawd14gQLgERERESklbLWlgOjgXRcm4UuNsYU4FoVPg+IB9YDN9dzagNcimvV+l5jTKEx5rB73sXAObjqr//ZWvt0A7wVkWbDGMO06waQmhzt6TtaUMpv3l1Pueqhi4iINIqAJdCNManAJmAqrs2EDBABnA08A6wyxiSdxNQPAI8AVwBpQBhQArQDLgL+CnxvjDntFN9C8+SXQDfQ65Jqh1lrVb5FREREROrFWpsOnAk8DmwGLFAGfAv8Hhhqrc2ucYLqfec+9z1gG1AEJLp/bgReBAZZa//QAG9BpNmJiwxj+rizCPfZq2pNejb/u1j10EVERBqDsdaeeFR9JzXGAawDBgAHgAnW2sXGmBBctRFnAHHAAmvtVfWc+z6gAlgObLfW5rn7k4FxwFNAFPADMMBa2yBfyxtjLLgSz03Wsb3wfH9vu/MQuOOLaof+sD+XK19Y5mn37xzPJ/dcGOgIRUSahNLSUnJzcykqKsLp1OotkZYgJCSEqKgo4uPjCQ+v342OlXfgWWt1K14r0yw+44u4vfl1Oo9++L2nbQzMnHQuI05rF7ygREREmqiG/IzvOOVoqncrruQ5wFhr7dcA7mT2XHci/R3gSmPMpcfXSKyNtfb5GvqzgP8zxpQAfwP6AecDK07+bTQzVcq3XF7j0ONXn4/R6nMRaQWstWRmZnLsmMrnirRE+fn5HD58mMTERFJSUlSaTkRalFuGprJqZxYLvssEwFq4f+4GFtx7IR3iI4McnYiISMsVyAQ6wJLK5Plx5gBPAj2ACUCdE+h1sMrneZcaR7VEdax/7nRaPtrorX9uDFwzsFMgIxMRaRKOT56HhYXhcDiUZBNp5qy1lJeXU1ZWBuD5d96xY8faThMRaVaMMUwbeyabM3LZc7QQgCx3PfS3bz8PR2hAtzgTERFptRo8gW6MiQYucDcXVjfGWmuNMf8GpuCqZd6QfOuQ7GjguZuu8lLY+ZW3HZUEnc+qdujqXUc5kFPsaQ/rlawVCyLS4pWWlnqSauHh4XTu3JmIiAglz0VaCGstJSUlZGRkeP69Jycn17uci4hIUxYfGcaL4wYz9uWVlFW4Sg+t3nWUFz7/ifuv6BPk6ERERFqmQHxF3ddn3s21jKs8lmKMaXMqL2iMiTLG9DbGPAI86+5eaq1deyrzNit7V0Npnrfd6xIICa12qDYPFZHWKDc31/O8c+fOREZGKnku0oIYY4iMjKRzZ+/nmry8vFrOEBFpns7sksgjV/b16/u/JdtZ/tORIEUkIiLSsgUige5bCySjxlH+x+pdP8QYk2KMse6NfwqBbbjKwkQAHwP/Ud85m7U61j8vKa9gwXcHPO1wRwij+qcEMjIRkSahqKgIcJVtiYiICHI0IhIoERERhIWFAVBYWBjkaEREAmPisO6MPKODp20t3Dd3PYdyi2s5S0RERE5GIBLocT7Pa/urxfdYXI2jalYBHHQ/fD8l/AN40Fp7tD6TVSbja3qcRHyNq0oC/dJqhy3Zepjc4nJP+7K+7YmPDAtkZCIiTYLT6QRQzXORFs4Yg8PhqlJY+e9eRKSlMcbw9H8OpEtSlKfvSH4p987ZQIWz6f/5KiIi0pw0211GrLWHrbUp1toUIBroimsF+jXAJmPMnUENsDHlHoCDPtVyOg6E2PbVDlX5FhFp7ZQ8F2n59O9cRFqDhKgwXhx3FmGh3v/P+3pnFv/3xU9BjEpERKTlCUQC3bfYZHQt43yPnVKBSuuyz1r7/4CbgTDgZWPMwHrMYWp7nEp8AVdl9fll1Q7LLS7j862HPO34SAcX9WkXyMhEREREREQkQAZ1TeShUaf79f31859Y6FO2U0RERE5NIBLo+32e17a82ffY/hpH1ZO1dj6wB9d7+2VDzduk1bH++b83Z1Ja7r2V+coBHYlwVL/RqIiIiIiIiDR9vxzeg8v6+tdDv/uddcxamR68oERERFqQQCTQtwCVWdr+tYyrPJZZ33rldVBZpyStgedteirKYecSbzsiAbqcU+1QlW8RERERERFpWYwxPHP9mXRO9NZDtxamfvQ9f1mwBadqoouIiJySBk+gW2sLgRXu5qjqxhhXYcqR7uZnDfn67rl7uJunVBqmWdi3BopzvO1eF0Goo8qwg7nFrNyR5Wl3TIjkvB5tGiFAERERERERCaTE6HDeueM8uif7V1H929Kd3Dt3AyXlFUGKTEREpPkL1Cais9w/LzbGnFfN8euBnu7nb9Z1UmNM1cxwVZOAFPfzL+s6d7NVx/rnH2/cj/VZeDB6YCdCQpp2aXcRERERERGpm9TkGN6bMoxBXRP9+j/euJ8Jr39DTlFZkCITERFp3gKZQP8OMMB7xphLAYwxIcaY64EZ7nELrbWf+55ojHnMGGPdj+7HzTvcGLPUGHOLMabLcef1NsZMA/7m7toBzGzIN9UkbV/k364hgf6ByreIiIiIiIi0aMmxEbx7x1Au79fBr3/1rqNc/8pKMo4VBSkyERGR5isgCXRrbTkwGkjHtVnoYmNMAVAAzAPigfXAzScx/YW4Vq3vNcYUGWMOG2MKgW3AQ4AD2AhcZq1t2Z8O8g/BgY3edvszIL5TlWHbD+WzOSPX0z6tQyx9O8Y1RoQiIiIiIiLSiKLCQ3ll/BBuGZrq17/tYD7XvbSC7/fn1HCmiIiIVCdQK9Cx1qYDZwKPA5sBC5QB3wK/B4Zaa7PrOe23wC3A67iS5DlAIq5NS3cA/wB+AQxxv37Ltv1z/3bv6lefV7d5qKtUvIiIiIiIiLQ0oSGGx689g4d/frpf/8HcEm782yqW/XQ4SJGJiIg0PwFLoANYa/OstVOttQOstbHW2nhr7dnW2mettaU1nPOYtda4H+nVzPeWtfZ2a+0ga22KtTbMPXeatfYGa+1ca23r2CGlSv3zy6sMsdby4Yb9fn3XDqq6Sl1ERKSusrOzef3117nhhhsYMGAAbdq0ITIyktTUVMaNG8eqVatqPb+goIDnnnuOESNG0LZtW8LDw+nSpQsjRozg2Wef5eDBg9Wet3fvXh588EEGDRpEQkICUVFR9OrVi2uvvZY333yT4uJiz9j09HSMMRhjSE9PrzGW7t27Y4xh5syZfv3Hn79jxw7uvPNOevToQUREBN27d2+w61Gfa5KdnU10dDTGGObNm1frnH/84x8xxtCzZ0+s70YoIiLSKhhjuGtEL/76i0GEhXoXUOWXlDPp72t479t9QYxORESk+ajLppzSFDkrYIfPCvTwWOhadb/WdXuOsedooad9TvckuiRFVxknIiJSV3/961/505/+BEBoaCjx8fEA7Nmzhz179jBnzhyef/55fvOb31Q5d926dYwZM4a9e/cCEBISQmJiIkeOHCEjI4OlS5cSGhrKfffd53fe7NmzufPOOz1J8vDwcOLi4tizZw87d+7ko48+4swzz2TQoEEN/n5XrlzJ5MmTyc/PJzo6mrCwsAa7HlC/a5KUlMQNN9zArFmzePXVV7nhhhuqnbOiooK///3vANx+++2680xEpBW7dlBn2sVFMPnNb8krKQeg3Gn53T82ciCniF9dnKbfEyIiIrUI6Ap0CaD966HIpwJOz4vAEV5lWHXlW0RERE5Fp06dmDp1KmvXrqWwsJCjR49SVFTEzp07uffeewG4//77Wb9+vd95e/fuZeTIkezdu5euXbsyZ84c8vLyyMrKoqioiO+//57HHnuMdu3a+Z33r3/9i1tvvZXi4mIuuOACli1bRlFREUeOHKGgoIBly5Zxxx13EB5e9fdgQ5g8eTJnnHEGa9asoaCggPz8fD777LNTvh4ne02mTJkCwBdffMHOnTurjXnBggVkZGTgcDi47bbbGvJyiIhIMzSsV1v+OWUYHRMi/fqf+Wwbj7z/HeUVziBFJiIi0vRpBXpz9dMi/3bapVWGlFU4+WTTAU/bEWK4akDHQEcmItJs/efLKzmQU3zigc1Ix4RI/jllWIPOeeedd1bpM8bQo0cPnn/+ecrLy5k+fTrTp0/ntdde84x55JFHOHLkCMnJyaxYsYKuXbv6nd+vXz+mTp3qN295eTn33HMP1lqGDx/O559/7pcoDw8PZ/jw4QwfPrxB36Ov5ORkFi9eTGxsrKfvtNNO8zw/2esBJ3dNzjvvPAYNGsSGDRuYMWMGf/nLX6q8/quvvgrA6NGjSUlJObk3LiIiLUqflDjev/sCJv79G7Zm5nn63/1mL5k5xbw47ixiIpQiEBEROZ5+OzZXVeqfV91AdPlPRzha4C01f1GfdiTFBGZ1nohIS3Agp5iMY0XBDqPZu+qqq5g+fTrLly/39BUUFDB37lwAHn74Yb9EcW2WLFnCrl27APjf//3fgK0yr82vf/1rv+R5fVV3PeDkrwm4VqFPnjyZmTNn8vjjj/uVlcnIyGDhwoWAa/W8iIhIpZSESObddT5T3vqWFduzPP1LfjzMTTNW8fqt59AuLiKIEYqIiDQ9KuHSHBVkQca33nbbPpDYrcqwD1S+RUREAmTnzp38/ve/Z8iQISQmJhIaGurZdPPKK68EYN8+7+Zka9eupaysDIBrrrmmzq+zcuVKAFJSUjj77LMb8B3U3QUXXHDCMfW9HnDy1wRg3LhxxMXFkZmZyccff+x37I033qCiooIePXpw+eVVNxgXEWdqqQkAACAASURBVJHWLT4yjL9PPJf/GOz/9+GmfTlc9/IKdh7OD1JkIiIiTZNWoDdHO5cA1tvuXfWP48LScj77/qCnHRMeymV9OzRCcCIizdfxdUFbgkC8p/fff5+bbrqJkpIST198fDyRkZEYYygtLSU7O5uCggLP8czMTM/z1NTUOr9W5Xn1OaehtW/fvtbjJ3M94OSvCUBsbCzjx4/n5Zdf5tVXX+W6664DwOl08vrrrwNwxx13aFM4ERGpVrgjhOduGEinxEimL9nh6d97tIixL6/ktVvPZkhqmyBGKCIi0nQogd4c1aH++aIfDlJUVuFpj+yfQlR4aKAjExFp1hq6VnhLlJWVxcSJEykpKeGSSy7h0Ucf5dxzzyUqKsoz5vPPP+eyy/xLi51sIrcpJIBDQ2v+/Xmy1wNO/b1NmTKFl19+mUWLFpGenk737t357LPP2L17Nw6Hg0mTJp3S/CIi0rIZY3hg5Ol0Sozijx9sxuleo5VdWMa4Gav56y8GMaq/9tASERFRCZfmxumEHZ9722HR0K1qwueD9f7lW8aofIuIiDSABQsWkJubS1JSEh9//DEjRozwSxaD/8rqSr4bWe7evbvOr1d5Xn3OAXA4vGsEiotr3hg2JyenXvMe72SvB5z8Nak0YMAAhg0b5rfqfMaMGQBce+212jxURETq5ObzUpkx4WyiwrxfGJeUO5ny9jpmrtgVxMhERESaBiXQm5vMjVBw2NvufiGE+d+en5VfwtKfjnjabWPDGdYrubEiFBGRFmzv3r0A9OnTh+jo6GrHLF68uErf2Wef7dkA9Pia3bUZNsz1JXFmZiZr166t83lJSUlVYj7etm3bOHbsWJ3nrM7JXg84+Wvia8qUKYCr7nlGRoZnnjvvvPOk5hMRkdbp0r4dePfOoSTHeDfrthYe+/gH/rxgC06nreVsERGRlk0J9OZm+3F/hFdT//xf3x2gwucDztVndsIRqv/UIiJy6hISEgBX8rm6ld0bNmzgnXfeqdIfHR3NL37xCwCmTZtWY1L7eBdffDE9e/YE4Le//S2lpaV1Oi8mJoZevXoB8N5771U75sknn6zTXLU52esBJ39NfF1//fUkJyezf/9+xo0bR1lZmTYPFRGRkzKoayLz7x5Gj7Yxfv2vLt3Jb+asp9inRKiIiEhroqxqc/PTcQn0auqfVynfMljlW0REpGFcccUVhISEcPToUW6++WYyMly/c0pLS5k3bx5XXHEFcXFx1Z775JNP0rZtW7KysrjggguYN28eRUVFAFhr2bx5Mw888ACzZ8/2nBMaGsqLL76IMYbly5dz6aWXsnz5cpxOp+d1v/zyS8aPH88PP/zg93o33XQT4Fqd/dJLL3lea+/evdx+++3MnTu3xlXjjXE9Tvaa+IqIiGDixIkALF26FNDmoSIicvJSk2N4b8owBndL9Ov/ZNMBJrzxDTmFZUGKTEREJHiUQG9OirJh3zfedpte0Kan35A9WYWs2+O9Hb17cjQDuyQ0VoQiItLC9e7dmwceeACA+fPn06VLFxITE4mNjeXGG28kNjaWF154odpzu3Tpwqeffkrnzp3Zu3cvN954I3FxcbRt25bo6GgGDBjAM888Q1ZWlt95P//5z5k5cyYREREsX76cCy+8kOjoaNq2bUtMTAwXX3wxb7/9dpXV6Q899BD9+vWjrKyMX/3qV8TGxpKUlES3bt148803mTlzJu3atQva9TiVa+Lrrrvu8iTMtXmoiIicqjYx4bxz+1Cu6NfBr/+bXUcZ+8pK9mUXBikyERGR4FACvTnZ+SVYp7eddlmVIR9u8F99fu2gzlqFJiIiDWratGm8+eabnHvuuURFRVFWVkZaWhqPPPII69evp1OnTjWee9ZZZ7FlyxamTZvG0KFDiYuLIy8vj3bt2nHRRRfx3HPPMW7cuCrnTZgwga1bt3LffffRr18/HA4HRUVFpKamMmbMGGbPnk3fvn39zomNjWX58uXcf//99OjRA4fDQVhYGGPHjuXrr7/2lE8J5vU4lWtSKS0tjUGDBgHaPFRERBpGVHgoL48fwoTzU/36tx/K57qXVvL9/lPbhFtERKQ5MdZqM5C6MMZYcN1OHTQf/grWv+Vt3/xPvxro1loue+4rdhwu8PQt+f1FVWrYiYi0Rrt376awsJDo6GhSU1NPfIJIM5GZmUnXrl0pLy/n008/5Yorrgh2SEFX33/vlYsNrLVaddDKNInP+CJNmLWWV5fu5C8Lt/r1x7gT7D877dTu5BIREQmUhvyMrxXozYW1sP1zbzs0AlIv8Bvy/f5cv+T5wC4JSp6LiIi0cK+88grl5eWkpaVp81AREWlQxhgmj+jFX38xiPBQb/qgoLSC22au4R9r678BtoiISHOjBHpzcfB7yDvgbXcfDuH+G58dv3notYO0eaiIiEhLtnbtWp599lkA7r//fpVtExGRgLh2UGdm3XYucZEOT1+50/LAPzfxwuc/6S4OERFp0ZRAby62L/JvH1f/vMJp+Wjjfk87xMDVAzs2RmQiIiLSyLp3707Hjh0555xzyM/PZ/Dgwdx+++3BDktERFqw83sl896UYXRKiPTrf27RNv5r/neUVzhrOFNERKR5UwK9ufAt3wJ+tc8BVu3M4lBeiad9QVpb2sf5f7ARERGRlmH37t1kZmaSkpLCxIkTWbhwIWFhYcEOS0REWrjTOsQx/+4LOD0lzq9/zpq93P7mWvKKy4IUmYiISOA4TjxEgq44F/Z87W0ndoPkNL8hH27wL98yRuVbREREWizdKi8iIsGSkhDJP+46nylvrWP59iOe/i9/PMyFTy9h0rAeTBzWnYRofbErIiItg1agNwe7loKz3NtOuxx8apwWl1Ww8LtMTzsyLISR/VMaM0IRERERERFpJeIiw3hj4jlcd5b/wq1jhWX87+JtXPDUF0xbuJXDPndJi4iINFdKoDcHJ6h/vmTrIfJKvAn2y/p2IDZCNxeIiIiIiIhIYIQ7Qnj2+oHcc0lalWP5JeW88tUOhj/1BVM/3EzGsaIgRCgiItIwlEBv6qz1r38eEgY9fuY35AOVbxEREREREZFGZozhd1f04b0p53NRn3ZVjpeUO5n19W5GPL2EB/+5kV1HCoIQpYiIyKlRAr2pO/wj5Oz1tlPPh4hYTzOnsIwlWw972onRYfzstKofXEREREREREQCYUhqG2ZOOpdP7hnOz/un+FYcBaDcaZm3dh+XPvslv35nHVsO5AYnUBERkZOgBHpTt32xfzvtcr/mws0HKK1wetpXDehIuEP/WUVERERERKRx9e+cwMvjh7Dotz/jurM6Exrin0l3Wvhk0wF+/tdl3D5rDev2ZAcpUhERkbpTprWpO0H98yrlWwarfIuIiIiIiIgET1r7OJ67YRBf/v4ibj6vG+GhVVMPi7cc4rqXVjJuxipWbj+CtTYIkYqIiJyYEuhNWWkB7F7pbcd3hvZ9Pc0DOUWs3nXU0+6cGMWQbkmNGaGIiIiIiIhItbq2iebJ/xjAsocu5o4LexAdHlplzModWYx7bTXXvbySxT8cVCJdRESaHCXQm7Jdy6Ci1NtOuxTfYnIfbdiP72eL0YM6EXLcLXIiIiIiIiIiwdQhPpI/XNWPFQ9dwm8u7U18pKPKmPV7jnH7m2v5+V+X8dHG/VQ4lUgXEZGmQQn0puwE9c8/2LDfrz1mkMq3iIiIiIiISNOUFBPO/ZefxoqHL+GhUafTNja8ypitmXn85t31XPbcV8xbs5fScmc1M4mIiDQeJdCbKmv965+HOKDnCE9z28E8v53LT0+Jo09KXGNGKCIiIiIiIlJvcZFhTLmoF8sfuoQ/jT6DTgmRVcbsOlLAg+9t4qL/WcLMFbsoLqsIQqQiIiJKoDddR3dCdrq33fU8iEzwND9Yr81DRUREREREpPmKDAvl1mHd+fKBi3l67Jn0aBtTZcz+nGIe+/gHhj/1BS9/uYO84rIgRCoiIq2ZEuhN1U+L/Ntpl3meOp2WD33KtxgDowd2aqzIREREGt3EiRMxxjBx4sRghyIiIiINLNwRwg3ndGXx/SP4v5sGc3o1d1cfyS/lqX9v5YJpX/DcZz+SXVBazUwiIiINTwn0pmp7zQn0b/dkk3GsyNM+t3sbOiVGNVZkIiIiIiIiIg0uNMRwzcBOLLz3Ql6bcDaDuiZWGZNbXM4LX2zngqe+4Ml//cDB3OIgRCoiIq1J1a2vJfjKSyB9ubcd2wFSBniaH25Q+RYRERERERFpmYwxXNavA5f2bc/XO7J4ccl2Vu7I8htTWFrBjGW7mLVyN8PSkhnQOYH+nRMY0DmBjgmRGGOCFL2IiLQ0SqA3RY4IuOdb2L7Y9Yjv7KrTApRVOPnXpgOeoeGhIVzZv2OwIhUREREREREJCGMMw9LaMiytLev2ZPPSku0s3nLIb0xphZMvfzzMlz8e9vQlx4RzRucEBnSOp38nV2K9S1KUkuoiInJSlEBvqhK6wJCJroePpdsOk13o3TTloj7tSIgOa9zYRERERERERBrRWd2SeO3Wc9hyIJfpS7bzr+8OYG31Y7MKSlm67TBLt3mT6onRYZ5kumu1ejzd2kQrqS4iIiekGujNzAc+m4eCyreIiEjjOXToEGFhYRhj+Oijj2od++ijj2KMIS0tzdO3a9cunnrqKUaNGsVpp51GTEwMsbGx9OvXj/vuu489e/YE+i14rFq1ioceeogLL7yQ1NRUIiMjSUxMZOjQoTz11FPk5+efcI7Vq1czadIk0tLSiI6OJj4+nn79+nHbbbfx6aefVnuO0+lk3rx5jBkzhs6dOxMREUG7du0YMmQIDz30EJs3b/YbX5fNU2fOnIkxhu7du1c55nu+tZbXXnuN4cOHk5ycjDGGmTNnBuWaPPzwwxhjOOOMM2qdLzc3l9jY2CqxiohI69W3YzwvjjuLz+8fwS/O6UpSHReUHSssY/n2I7zy1Q5+9c46RvzPlwz802eMm7GKvyzYwkcb97PrSAFOZw1ZeRERabW0Ar0ZyS8pZ9EPmZ52XISDS05vH8SIRESkNWnfvj0jR47kX//6F7Nnz2b06NHVjrPW8tZbbwFwyy23ePonTZrEV199BUB4eDhxcXFkZ2ezZcsWtmzZwsyZM/nkk08YPnx4wN/L+eef73keHR1NdHQ02dnZrF69mtWrV/Pmm2+yZMkS2rev+nu2oqKC+++/nxdeeMHTFxMTg8PhYOvWrWzZsoX58+dz7Ngxv/OOHDnC2LFjWbp0qacvMTGR4uJi1q1bx7p16/jxxx/54IMPGvz9Wmu5/vrree+99wgJCSEhIYGQEP91FI15TSZPnszTTz/NDz/8wPLly2v8b/7OO+9QUFBAQkICN954Y0NcChERaSF6totl2tgz+ct1A9ifU8x3+3LYnJHD5v2un0fyS084R25xOSt3ZPnVV4+LcNCvUzwDOicwoEsCZ3RKoGfbGEJCtFJdRKS10gr0ZuSz7zMpLnN62qP6pxAZFhrEiEREpLWZMGECAB9//HGVBHGlFStWsGvXLowxfgn0QYMGMX36dLZt20ZRURFHjhyhpKSE1atXM2rUKHJycrjxxhspKioK+Pu45pprmDt3LgcOHKCgoICjR49SWFjI/Pnz6dOnDz/88AN33XVXtec+8sgjnkTxbbfdxo8//kh+fj5Hjx4lOzubDz74gFGjRvmdU15ezpgxY1i6dCkRERE89dRTHDp0iOzsbPLy8sjIyOBvf/sb/fr1C8j7nT9/Ph9++CHPPPMM2dnZHD16lJycHEaOHBmUa9KjRw/Pa8+YMaPGuCuP3XLLLURFRZ3ydRARkZbHGEPnxChG9U/h9yP7MHPSuaz5w2V8/V+XMGPC2fzm0t5ccnp72sdF1Gm+vJJyVu86ymvLd3HvnA1c9txXDHjsU2545Wv+9PH3zF+3j58O5lGhleoiIq2GsTUVDRM/xhgLrhVcwTLhjW/8ari9fft5XJDWNmjxiIg0J7t376awsJDo6GhSU1OrH/T6SMjdX/2x5iq+E/yy+nIiJ6O4uJiUlBRycnL429/+xp133lllzOTJk3n11VcZPnw4y5Ytq9O8FRUVnHXWWWzatInZs2czfvx4v+MTJ05k1qxZ3HrrrQEv5ZGRkUGvXr0oLS0lPT2dbt26eY5t27aNvn374nQ6efDBB3nqqafqNOfrr7/O7bffjjGGTz75hCuvvLJO59Xlfc+cOZNJkyaRmppKenp6tecDvPDCC9xzzz11et3jBeKafPjhh4wZM4aoqCj2799PYmKi3/Fvv/2Ws88+G4BNmzYxYMCAOsdbp3/vPirr31prtbywlWkKn/FFpPEcyi3mu4wcNmfkun/mkJlbfFJzRYWFcnrHOE5Piaev+2eflDgSorRHmYhIU9CQn/FVwqWZOJxXwvKfvMnz9nERDO2ZHMSIRERaoNz9kNN4dbibo8jISK6//npee+01Zs+eXSWBXlJSwrx58wD/8i0nEhoayqhRo9i0aRPLly+vkkBvTJ07d2bgwIF88803rFy50i9ZPGvWLJxOJ8nJyfzpT3+q85xvvPEGAFdeeWWdk+cNKSkpicmTJ5/0+YG4JldffTVdunRh3759zJ49u0pyv3L1+fnnn1+v5LmIiEhN2sdHcml8JJf27eDpO5xX4ir7si+H7zJy+H5/LhnHTnw3XFFZBev3HGP9Hv878jolRNInJY7TO8Zzeoorsd6zXQxhoSoAICLSXCmB3kx8smk/vneIjR7YiVDVYBMRkSCYMGECr732mqdUS48ePTzHPvnkE44dO0ZkZCQ33HBDlXOXLVvG66+/zqpVq9i3bx8FBQVVxuzbty+g8YNrM885c+YwZ84cNmzYwOHDhykurroC7fhYVq5cCcDll19OZGRknV6rvLycNWvWAK4yKcFwzjnnEB4eXuuYxrwm4PrS5I477mDq1KnMmDHDL4FeUFDAO++8A1DtXQ4iIiINpV1cBBf3ac/Ffbx7fGTll7B5f66rpnqGK7G+L7tuJeb25xSzP6eYJT96F8CFhRp6tYulrzup3icljr4d42kfF+FZISkiIk2XEujNxAcb/EsKjBncOUiRiIi0YPGdgh1BwwvAexo+fDg9evRg165dvPXWW/zxj3/0HJs9ezbgShQfX5LjoYce4umnn/a0Q0NDSUpK8iR28/PzKSgoqDap3pAKCwu5+uqrWbJkiacvPDycNm3aEBbmuu366NGjlJWVVYklM9O1mXddyoJUysrKoqysrN7nNaTqNv701djXpNLtt9/Of//3f/Pdd9+xatUqhg4dCsCcOXPIy8sjMTFRm4eKiEijS46NYMRp7RhxWjtP37HCUr/SL5v357A7q7BO85VVWLZm5rE1M8+vPyk6zLVa3V0Gpk9KPKd1iCU6XKkaEZGmRP+v3AzsOlLAxr3e28J6tYvhjE7xQYxIRKSFasBa4S1Z5eagjz/+OLNnz/Yk0LOysliwYAFQtXzLokWLPMnzu+++mylTptC3b19CQ72bYf/xj3/kiSeeCHgt4ieffJIlS5YQFRXFn//8Z6677jq6du3qtwLswgsvZPny5VViOZlVYk1hZZnvda5OY1+TSp06dWL06NHMnz+fV1991ZNAryzfMn78eG0eKiIiTUJidDjDe7dleG/vPmQFJeVsO+hKjG89kOtJkucUldVpzuzCMlbtPMqqnUc9fcZAaptoTk+Jd9dYdyXYu7WJJkR3oYuIBEVAE+jGmDjgd8BYoAdQAWwD5gD/Z60tPYk5OwPXAhcDg4HKpdiZwCpghrX2i1OPvun4cEOGX/vaQZ2bxB/jIiLSelUm0H/66SfPyuG5c+dSVlZGu3bt+PnPf+43fs6cOQCMHDmS6dOnVztn5UrmQKuM5dFHH+W+++6rVywpKSls2bKF3bt31/n1Kldxl5WV1es8AIfD9VGtulIqlXJycuo1Z3Ua+5r4uuuuu5g/fz7z5s3j+eefZ/fu3axevRrglOq2i4iIBFpMhIPB3ZIY3C3J02et5WBuCVsyc9l6II8fM12J9e2H8il3nniRgLWQnlVIelYh//7e+7s3KiyU01Li6JsSR1r7WNrFRbgesRG0jY0gMTpMeQIRkQAJWALdGJMKfAl0d3cVAhHA2e7HzcaYS6212fWYsyuwG/D9rVDobnd3P35hjHkDuNNaW3FKb6IJsNby4XHlW64d1AJLDIiISLOSlpbG+eefz9dff83s2bMZOnSop3zLTTfd5En8Vtq7dy8AgwcPrnY+ay1ffNE433+fKJb09HS2b99e7bFhw4axZMkSFi1aRHFxcZ1qfjscDs4991xWrFjBxx9/XK+kcFJSkl/M1alMNp+Kxr4mvi677DLS0tLYvn07b7/9Nlu2bAFcm4f279+/XnOJiIgEmzGGlIRIUhIi/eqql5Y72Xkkn60H8tiSmcuPmXlsPZBHZm7NX5L7KiqrYOPeY353p/tyhBiSY8NpF+dKqHsf4d5Eu/tYYlSYVrOLiNRDQBLoxhgH8DGuhPYBYIK1drExJgS4HpiBa/X4W8BV9Zg6FFey/HPgTWCxtXa/e97TgT/jWp1+G7Af+GNNEzUX32XksOuIt9bo4G6JpCbHBDEiERERlwkTJvD1118zd+5c7r77blatWuXpP15CQgIAGzdurHauV155hZ07dwYu2ONiOXLkCBs3bmTkyJFVjj/88MM1njtx4kSmTZtGVlYWU6dO5amnnqrTa/7yl79kxYoVLFiwgAULFnDllVfW6byBAwcCsGbNGvbu3UvXrl39jm/ZsoX58+fXaa7aBOOaVDLGMHnyZB544AFeeuklMjJcd95p89CmKxB3mfrM3QF4ELga6AYUAd8Ds4DXbaBrPImIBEi4I8RVliUlnjF49zQ7VljqKQHz48E8thzI48fMPIrK6rcesNzpWvl+MLfkhGMdIYY2Mccl2+PCaRcbcVwCPpyk6HAl20Wk1QvUCvRbgQHu52OttV8DWGudwFx3wvsd4Er3KvTP6zhvNjDEWrvOt9M97w/GmP8AFgCjgPuMMU9aa+v2dW4T9cH64zYPHaTNQ0VEpGm48cYbuffee8nKymLixIkA9OvXjyFDhlQZO2rUKP75z3+ycOFC/vu//5v777+fmJgYjh07xksvvcSjjz5KcnIyWVlZAY971KhRvPXWWzzxxBOkpaUxevRoHA4Hu3bt4g9/+APz5s0jKSmJ7OyqN8mlpaXxwAMPMG3aNJ5++mmysrJ46KGH6N27NwC5ubksXLiQOXPm8P7773vOu+WWW3jjjTdYvnw5Y8eO5fHHH2fSpEm0beuqo7p//37mzp1LZmamXwL6mmuuITY2lvz8fG644QZmzpxJnz59KCsrY8GCBdx9993ExMRQUnLiP5ab2jXxNWnSJP7f//t/bN68GUCbhzZhgbjL1GfuIcCnQLK7Kx+IA4a7H/9pjBl9Kgl6EZGmJjE6nKE9kxnaM9nT53Ra9mYXsuVAHlsrV6tn5pGeVUBDfI1Y7rQcyivhUN6JPz+EhhiSY8LdSfYI4iMdxEU6iIsMIy7CQaz7eWyEw30szN3nIDbCQWRY7fuwiIg0B4FMoAMsqUyeH2cO8CSuFSsTcK0oPyFrbQ6wrpbj1l2+ZRQQC/QF1tcj7ialwmn5eJM3gR4aYrjqzI5BjEhERMQrKSmJq6++mvnz57N27Vqg6uahlSZMmMCsWbNYtmwZjz76KFOnTiUxMZGcnBycTidXXXUVgwcP5oknngh43E888QSLFi3i4MGDjB07FofDQUxMjKeW+J///Gc+/fRTvvrqqxrPz8vLY/r06bz++uu8/vrrxMbGEhYWxrFjx7DWelbcV3I4HLz//vtcd911LFu2jAcffJCHHnqIhIQEysvLyc/PB+Daa6/1Oy8hIYHnn3+eO+64g1WrVnH66acTFxdHSUkJpaWlDB06lPHjx/PrX/+62V0TX8nJyVx//fW89dZbgDYPbaoCeJcpxpgE4BNcyfOtwC3W2rXGmHDgDuB/gZHA88DdDfKGRESaqJAQQ2pyDKnJMYzqn+LpLywt56eD+ezNLuRIXglH8ks5kl/CkfwSDueXciSvhMP5JZSWOxsslgrfZPuB+p8fHhriSqb7JNXjIsNcSfgI/4R7ZVLeO941LjbcoVXwIhJUDZ5AN8ZEAxe4mwurG+NOdP8bmAJc0cAh+K44b9Zfda7ccYTDPt8IX9i7LW1jI4IYkYiIiL8JEyZ4SoiEhIQwfvz4aseFhYXx2WefMW3aNN59913S09Ox1nLuuedy6623cuedd/L44483SsypqamsXbuWxx57jIULF3Lo0CEiIyO58MILueeee7jiiiv49NNPazw/NDSUF198kZtuuomXX36ZZcuWcfDgQRwOB/369WPo0KHcdNNNVc5r27YtX375Je+++y5vv/023377LdnZ2SQlJdGnTx8uv/zyar+A+OUvf0mnTp145plnWLt2LWVlZZx22mmMHz+e3/72t7zzzjvN9pr48k2ga/PQJitQd5kC/B5IwVWy5Upr7S733KXAdGNMPK5yjXcaY5631m5rmLckItJ8RIc7GNg1kYFdE2scY60lr6S8aoI9r/Knt+9IfgnFZQ2XbK9OaYWTrIJSsgpO7eahcEcI4aEhOEINYaEhhIUYHKEhhLnb3v4QwhwGR4jvMdd4v3Ghlee7jzlCcIRUHqsc55onxBiMgRDjKj0XYoz7uX87xBgMlX2uL0L82u6xxn2ub7vK3Lj6wXceb7/fc/drGFxz4jnufW3f+cxxsXrm1ia0IjUyDV1G0H3r5Vp380prbbVJdGPM3cB0dzPZWnu0gV7/WeB+oBRoZ63NbaB5Lbh+GTWW383byHvr9nnaz984iDGDVcJFRORk7N69m8LCQqKjo0lNTQ12OCJynHvuuYcXX3yR888/n5UrV57SXPX99175B6O1Vn851sIYsxS4ENddppdUc9wAO3DdZfqmvDbB5wAAEetJREFUtfbW48fUMvduXDXP/26tva2a47G41j7GAo9ba6ee3LuoMm+jf8YXEWkqrLXkl5R7E+15PqvZfZLurmOl9a7LLs2PMRBqjOsLhBDXFwkOny8squ93fznh86WGI8R/bI3HQ/2/7AgLDSHMEUJ4qCHcEeLtC3V9gRLmMJ7n3uPePt2pIL4a8jN+IEq4dPJ5nlHLON9jnYBTTqAbY3oAd7mbc+uTPK/88NxUFJdV8On3mZ52VFgol/frEMSIRERERAIjNzeXN998E4ApU6YEORqpTiDvMjXG9MGVPK9t7nxjzDLg5+65GySBLiLSmhlj3GVSwujRNuaE4wtLy8krrnyUkV/ife7tLye/xKdd4h7rbisJ37RZC+XWUu60FBPYuxMCITTElZT3T7D7JNnddzL4JurD3In3EGMIdd854HpuCAkxhIZ47xYIDfHeXRDqbhtT+dz1byrUfcwYVzyhIcbnfP+5vHcxeO8ScH0HYPzuFAgJcR3H7+4B73NM1TsgjPtA5d0NlXco+N6JUN0dDe7pPOf73s3ge+z4uxpqOl4ZnztSjKFZ7o8QiAR6nM/zwlrG+R6Lq3FUHRljooB/ANHAEeDhU50zmBZvOUh+SbmnfcUZHYiJCFTJehEREZHgKCkp4d577yU3N5euXbtq89Cmqy8Q4n6+uZZxlcdSjDFt6niXaf9qzq9p7p8D/eowp4iINLDocAfR4Q46xJ/8HGUVTgrcifdcn8R6XonreW5xuTsx70rCVx4vKa+grMJS7nRSVmEpq3BSVuGk3PPce0xarwqnpcJpA16aSE7N1Gv6MemCHsEOo15aREbWvaHRO8AQoAy42Vq7v/az/J1oOX9jr1D/YL1/+GMGqXSLiIiItBzPP/88zz//PIcOHaKoqAiA5557jvDw8CBHJjUI5F2m9Z073hgTa63NP9HETe0uUxGR1i4sNITE6HASowPz+966V0+XV1hKK5yUVzgpd1pKy53ufqe735VwLy2vTLy7k/C+yXn3eAs4nRanBet+Dad1ty04rXX3VT7Hv4233zuP9ZzrOWarzm1xvWjlPNYnBuszT+XzyvOo7McbS+Vz8I3bZw738Qqn6xq6rofT/dx7zSr7y9zXx6nftNIKBCKBnufzPLqWcb7H8mocdQLGmFDgbWAMUA6Ms9Z+drLzNQU5RWV8te2Qp90mJpzhvdsGMSIREZGmZeXKlVx33XX1OmfYsGGeDU8l+I4dO8bu3buJjIxk0KBB/Nd//Rf/+Z//GeywpGaBvMv0ZOc+YQJdRERaF2OMu1wHRNG8SkQ0VxWVCXZ3Qr3yboDKLyOqT8BbytxjKpPxZeVO15caFa7nlV9klFa4vgCpbJdVuL748G2XlHu/BHEd97Yrn5dWePsqlPUPquZYqT4QCXTfpdOdgU01jPNdUl2v1eKV3Mnzt4AbgApgvLX2nyczV1OSEBXGx/cM54P1+/loQwaX9etAWGjIiU8UERFpJUpLSzl48GC9zjl6tEH2K5cG8thjj/HYY48FOwxp4ZraXaYiIiItjavOd/P6sqIy6V+ZbK9wr8avLAFj/397dx9jWXnXAfz7W/eFLruwLW26FBHaVatCqxW1NG0NzVYpjZL4gmCItia1plb/KqnGmoitmibUtAnxDyHB0JRKTWpibEVICSbYNrEhJIJUqFgs4cVoANll6cyw8/jHPbNzdzkzO2937p07n09yM+flOef+bvbMc3/z2+c5pyXH28JyO7E8Pz8YuX+8tROzCY7PtxMzCRaWj3ft5ue7tt3sg5PbLs4syIlZBwszFhZnC5w0QyGLMxwWZg3Mt9Y7M2F4FsPwrIjhbcnie55YP2lGQrflRNuX71+YJTFoefL5htcXGrS0XLCCZy5MmlEU0L+ZZD6DeyRenCUeBJTFex0+vcJ7I55kaOT51Vksnn9h9eFOph86eFZ+/4qz8tHL35hjHrIBACe57LLLTiSVwKYY5SzTU8/9/AaeGwDgJAtF/632IEvGZ8OHNbfWjiX5arf6nr42NXg06+Xd6qpvt9IVzz+fk4vnt68+2sm3Y0dln4eHAgAwXqfOMl3KWmaZrvbcz6/k/ucAALARRnVfkFu7n++qqrf27L8qyRu65c+u5sRDI89/JYN7nl87rcVzAACYEAuzTJPFmaR91jLL9MGe45c790MrPC8AAKzbKAvoD2RwX/gvVtXhJKmqHVV1VZKbu3Z3tNbuHj6wqq6vqta9Ljxl38I9z6/O4gNDp+a2LQAAMIlGPMv0kSTfOc25z0zyzjWcGwAA1mUkBfTW2ktJrkzyWAZTLb9SVS8keSHJ3yQ5K8n9Sa5d5anfnuSahbdJcmNVPb3M6+qN+DwAAMBoZpm2wQMNFtpfc+ogms6Hk+zL4PaNt6303AAAsF6jGoGe1tpjSd6c5OMZTMtsSeaS3JfkuiSXttaeXeVph+PdleS1p3m9Yu2fAIBp5MGTMP38no/MSGaZdj6V5OkMHhT65aq6pDtud1V9KMknunY3tdYe2eDPBQAASyp/YKxMVbXEH2QAW9Xjjz+eo0ePZteuXTl06FAGdxoApk1rLY8++mjm5uayb9++nH/++ac9ZqE/aK3pGE6jK37fk+TCbtOxDAa5nNGt35/k8KkDZarq+iR/1K2+vhtsc+q5L0lyZ5Jzuk1HuvPu6tbvSnJla21m3R9k8T3l+AAAU2gjc/yRjUAHgEnyilcMJiXNzc1lZmbDai/AhJmZmcnc3FySZO/evWOOZvqMaJbpwrnvS3JRkk8n+VYGhfMXkvxzkt9McsVGFs8BAGAljEBfIaNTALa22dnZPProo0mS3bt357zzzsuePXuMRIcp0VrLzMxMnnjiiczOziZJDh06lN27d5/2WCPQty85PgDAdNrIHF8BfYUk1wBb31NPPZXnnnvuxPquXbuyc+dORXTY4lpreemll06MPE+SAwcO5Nxzz13R8Qro25ccHwBgOm1kjr9z3dEAwBZx8ODBJDlRRJ+bmzup4AZMhwMHDpz4fQcAAFgPI9BXyOgUgOkxOzubI0eO5NixY5mfnx93OMAG2LFjR/bu3Zv9+/ev6LYtw4xA377k+AAA08ktXMZAcg0AMJ0U0LcvOT4AwHTayBx/x7qjAQAAAACAKaSADgAAAAAAPRTQAQAAAACghwI6AAAAAAD0UEAHAAAAAIAeCugAAAAAANBDAR0AAAAAAHoooAMAAAAAQA8FdAAAAAAA6LFz3AFsNVU17hAAAIANJMcHAGApRqADAAAAAECPaq2NOwaWUFUtSVprhsSw4VxfjJLri1FxbQFbnX6MUXJ9MSquLUbJ9cWkMwIdAAAAAAB6KKADAAAAAEAPBXQAAAAAAOihgA4AAAAAAD0U0AEAAAAAoIcCOgAAAAAA9FBABwAAAACAHtVaG3cMAAAAAAAwcYxABwAAAACAHgroAAAAAADQQwEdAAAAAAB6KKADAAAAAEAPBXQAAAAAAOihgA4AAAAAAD0U0AEAAAAAoIcCOgAAAAAA9FBAn0BVtb+qrq+qB6rqaFX9X1V9o6o+UlW7xx0fW1NVvb+q2gpe7x53rEyWqtpbVVdU1R9W1d9W1X8NXS/Xr/Acr62qP6+qh6vqxap6pqruraoPVFWN+CMwwdZzfXXflSvp175/kz4OwJLk+IyCHJ+1kuMzSnJ8ps3OcQfAyarqgiT/lOTCbtOxJHuS/ET3uraqDrfWnh1LgEyD+ST/s8z+mc0KhC3jp5L8w1oPrqpLktyZ5Jxu09Ek+5O8o3v9clVd2VqbXW+gbEnrur46c0meWWb/S+s8P8C6yPHZBHJ8VkuOzyjJ8ZkqRqBPkKrameTvM0isn0ryM621M5PsTXJNkiNJ3pLkc+OKkanweGvt4DKve8cdIBPp2SR3J7khya8meXolB1XV2Um+lEFi/e9JfrK1tj/JmUl+J4Ok6PIknxlBzGwda7q+hnztNP3aYxsdMMBKyfHZJHJ81kKOzyjJ8ZkaRqBPlvcleVO3/Eutta8nSWttPskXqmpHks8neW83QuXuMcUJbC/3ttZeNbyhqj65wmOvS3IwyYtJ3tta+3aSdCNR/qKqzkryZ0k+WFWfaa09soFxszWs5/oC2Ark+MAkkuMzSnJ8pooR6JPlfd3PexYS61PcnuTb3fKvb05IwHbXWju+jsMX+qrbFxLrU9yYwXTP70ly7Trehy1qndcXwFYgxwcmjhyfUZLjM20U0CdEVe1N8vZu9Y6+Nq21luQfu9Wf3Yy4ANaqqt6Y5Pu61aX6taNJFqYU69cAmCpyfGDayPGB7UgBfXL8cBb/PR5cpt3CvoNV9apl2sFSXlNV91XV0e5J6f9ZVZ+rqsvGHRhT5+Kh5ZX0az8ywliYbhdV1YNVdazr2x6uqpur6i3jDgzY9uT4bBY5PptFjs9mkeMzMRTQJ8frhpafWKbd8L7XLdkKlrY3yY8nmc2gD3h9BtPq7qmqW7oHXcFGWG2/dlZV7RthPEyvV2dQpHoxyZ4kP5jkA0nuq6o/GWdgwLYnx2ezyPHZLHJ8Noscn4mhgD459g8tH1um3fC+/Uu2gpd7MskfJ/nRJGd0D/RYmFb8la7NbyT59HjCYwrp1xi1byX5aJI3ZtCvnZPkzCSXJ7kvSSX5WFV9ZHwhAtuc70JGTY7PZtOvMWpyfCaOAjpsE621u1pr17fW/rW1NtNtO95a+1oGX0R/1zX97ar6gbEFCrBCrbXbWms3tNYeaa3NddtmW2t3JXlHkm90Ta+vqrPHFigAjIgcH5g2cnwmkQL65DgytLx3mXbD+44s2QpWobU2n+S6bnVHkp8fYzhMD/0aY9Na+26SP+hW9yU5PMZwgO3LdyFjI8dnRPRrjI0cn3FRQJ8cTw4tn7dMu+F9Ty7ZClaptfYfSf63W33DOGNhaqy2X3u+tXZ0hPGw/Xx9aFm/BoyDHJ+xkuMzAnJ8xk2Oz6ZTQJ8c30wy3y1fvEy7hX1Pt9aeGW1IAOvy4NDySvq1h0YYCwCMgxwfmDZyfGDbUUCfEK21Y0m+2q2+p69NVVUG97FLkrs2Iy62j6o6lMFTrpPk2+OMhanxSJLvdMtL9WtnJnlnt6pfY6NdOrSsXwM2nRyfcZPjMwJyfMZNjs+mU0CfLLd2P99VVW/t2X9VFqenfHZzQmIadH+YnW7/Dd3qfJIvjTwopl5rrWWxr7qmqi7safbhDO5ddzzJbZsTGdNgBf3aniR/2q2+kOTukQcF0E+Oz0jI8RkHOT6jJMdnUimgT5ZbkzyQpJJ8saoOJ0lV7aiqq5Lc3LW7o7Wmk2A1Lqiqf6mq36qqNyx8KXXX1qVJ7kjyC13bv2ytPTy2SJlIVfXKqnr1wiuL3x97h7dX1b5TDv1UkqczeIjQl6vqku58u6vqQ0k+0bW7qbX2yGZ8FibPGq+vn66qr1TVr1XV9w6da1f3/XlvkoVC1cdba89tzqcBeBk5PqMix2dd5PiMkhyfaVKD/zxkUnT/e3tPkgu7Tccy6GTO6NbvT3K4tfbsZsfG1tVdV8NTm2YyeBL6/iR7hrb/VZIPttZe2rTg2BKq6rEkF6yg6a2ttfefcuwlSe5Mck636UgGfdqubv2uJFe21mY2JFi2nLVcX1V1WQbflwtezGAUytlZvLbmk3yytfaxjYoVYC3k+IyCHJ/1kuMzSnJ8psnOcQfAyVprj1XVm5Ncl+QXk7w+yVySf0vy10lubK3NjjFEtqb/TvK7Sd6W5MeSvCbJK5N8N4Ok+2tJbmmtfXXJM8Aatdbuq6qLkvxekp9Lcn4GSdCDGYzKu6W1Nr/MKaDPAxl8V74tyZsyuL/rgQyKUg9lMDrlptbaA2OLEKAjx2dE5PiMjRyfEZHjM5GMQAcAAAAAgB7ugQ4AAAAAAD0U0AEAAAAAoIcCOgAAAAAA9FBABwAAAACAHgroAAAAAADQQwEdAAAAAAB6KKADAAAAAEAPBXQAAAAAAOihgA4AAAAAAD0U0AEAAAAAoIcCOgAAAAAA9FBABwAAAACAHgroAAAAAADQQwEdAAAAAAB6KKADAAAAAEAPBXQAAAAAAOihgA4AAAAAAD0U0AEAAAAAoIcCOgAAAAAA9FBABwAAAACAHgroAAAAAADQQwEdAAAAAAB6/D/EFsMgAy7RiAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1800x720 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize_train_process(hist, 'BiLSTM')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "is_executing": false,
     "name": "#%% md\n"
    }
   },
   "source": [
    "## 11.3 预训练词嵌入网络"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "class Processor(object):\n",
    "\n",
    "    def __init__(self):\n",
    "        self.token2idx = {}                          # token 索引字典\n",
    "        self.token2count = collections.OrderedDict() # token 词频表\n",
    "        self.label2idx = {}                          # 标签索引词典\n",
    "        self.idx2label = {}                          # 索引索引字典\n",
    "\n",
    "    def build_token_dict(self, corpus: List[List[str]]):\n",
    "        \"\"\"\n",
    "        构建 token 字典，这个方法将会遍历分词后的语料，构建一个标记频率字典和标记与索引的映射字典\n",
    "        Args:\n",
    "            corpus: 所有分词后的语料\n",
    "        \"\"\"\n",
    "        token2idx = {\n",
    "            '<PAD>': 0,\n",
    "            '<UNK>': 1\n",
    "        }\n",
    "\n",
    "        token2count = {}\n",
    "        for sentence in corpus:\n",
    "            for token in sentence:\n",
    "                count = token2count.get(token, 0)\n",
    "                token2count[token] = count + 1\n",
    "        # 按照词频降序排序\n",
    "        sorted_token2count = sorted(token2count.items(),\n",
    "                                    key=operator.itemgetter(1),\n",
    "                                    reverse=True)\n",
    "        self.token2count = collections.OrderedDict(sorted_token2count)\n",
    "\n",
    "        for token in self.token2count.keys():\n",
    "            token2idx[token] = len(token2idx)\n",
    "        self.token2idx = token2idx\n",
    "\n",
    "    def build_label_dict(self, labels: List[str]):\n",
    "        \"\"\"\n",
    "        构建标签索引映射字典\n",
    "        Args:\n",
    "            labels: 所有语料对应的标记\n",
    "        \"\"\"\n",
    "        label2idx = {}\n",
    "        for label in labels:\n",
    "            if label not in label2idx:\n",
    "                label2idx[label] = len(label2idx)\n",
    "        self.label2idx = label2idx\n",
    "        self.idx2label = dict([(index, label) for label, index in label2idx.items()])\n",
    "\n",
    "    def convert_text_to_index(self, sentence: List[str]):\n",
    "        \"\"\"\n",
    "        将分词后的标记（token）数组转换成对应的索引数组\n",
    "        如 ['我', '想', '睡觉'] -> [10, 313, 233]\n",
    "        Args:\n",
    "            sentence: 分词后的标记数组\n",
    "        Returns: 输入数据对应的索引数组\n",
    "        \"\"\"\n",
    "        token_result = []\n",
    "        for token in sentence:\n",
    "            token_result.append(self.token2idx.get(token, self.token2idx['<UNK>']))\n",
    "        return token_result\n",
    "    \n",
    "    def build_from_w2v(self, w2v_path: str):\n",
    "        \"\"\"\n",
    "        使用预训练词嵌入构建词表和词向量表\n",
    "        Args:\n",
    "            w2v_path: 预训练词嵌入文件路径\n",
    "        \"\"\"\n",
    "        w2v = gensim.models.KeyedVectors.load_word2vec_format(w2v_path)\n",
    "\n",
    "        token2idx = {\n",
    "            '<PAD>': 0, # 由于我们用 0 补全序列，所以补全标记的索引必须为 0\n",
    "            '<UNK>': 1  # 新词标记的索引可以使任何一个，设置为 1 只是为了方便\n",
    "        }\n",
    "\n",
    "        # 我们遍历预训练词嵌入的词表，加入到我们的标记索引词典\n",
    "        for token in w2v.index2word:\n",
    "            token2idx[token] = len(token2idx)\n",
    "\n",
    "        # 初始化一个形状为 [标记总数，预训练向量维度] 的全 0 张量\n",
    "        vector_matrix = np.zeros((len(token2idx), w2v.vector_size))\n",
    "        # 随机初始化 <UNK> 标记的张量\n",
    "        vector_matrix[1] = np.random.rand(300)\n",
    "        # 从索引 2 开始使用预训练的向量\n",
    "        vector_matrix[2:] = w2v.vectors\n",
    "        self.w2v = w2v\n",
    "        self.vector_matrix = vector_matrix\n",
    "        self.token2idx = token2idx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "w2v_processor = Processor()\n",
    "w2v_processor.build_from_w2v('data/word2vec/sgns.weibo.bigram-char')\n",
    "w2v_processor.build_label_dict(list(train_df.label) + list(test_df.label))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 分词后的 query 转换为对应的索引数组\n",
    "w2v_train_x = [w2v_processor.convert_text_to_index(query) for query in list(train_df.cutted)]\n",
    "w2v_test_x  = [w2v_processor.convert_text_to_index(query) for query in list(test_df.cutted)]\n",
    "\n",
    "# 补全序列到统一长度\n",
    "w2v_train_x = pad_sequences(w2v_train_x, maxlen=15)\n",
    "w2v_test_x  = pad_sequences(w2v_test_x, maxlen=15)\n",
    "\n",
    "# 标签转换为对应的索引\n",
    "w2v_train_y = np.array([processor.label2idx[label] for label in list(train_df.label)])\n",
    "w2v_test_y  = np.array([processor.label2idx[label] for label in list(test_df.label)])\n",
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "w2v_model = tf.keras.Sequential([\n",
    "    L.Embedding(input_dim=len(w2v_processor.token2idx),\n",
    "                output_dim=w2v_processor.w2v.vector_size,\n",
    "                weights=[w2v_processor.vector_matrix],\n",
    "                input_shape=(15,),\n",
    "                trainable=False),\n",
    "    L.Bidirectional(L.LSTM(64)),\n",
    "    L.Dense(64, activation=tf.nn.relu),\n",
    "    L.Dense(len(w2v_processor.label2idx), activation=tf.nn.softmax)]\n",
    ")\n",
    "\n",
    "w2v_model.compile(optimizer='adam',\n",
    "                  loss='sparse_categorical_crossentropy',\n",
    "                  metrics=['accuracy'])\n",
    "w2v_model.summary()\n",
    "\n",
    "w2v_hist = w2v_model.fit(w2v_train_x,\n",
    "                         w2v_train_y,\n",
    "                         validation_split=0.15,\n",
    "                         epochs=20)\n",
    "test_loss, test_acc = w2v_model.evaluate(test_x, test_y, verbose=0)\n",
    "print(f'test loss: {test_loss}, test accuracy: {test_acc}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "visualize_train_process(w2v_hist, 'BiLSTM')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 11.4 保存和加载模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "class Processor(object):\n",
    "\n",
    "    def __init__(self):\n",
    "        self.token2idx = {}                          # token 索引字典\n",
    "        self.token2count = collections.OrderedDict() # token 词频表\n",
    "        self.label2idx = {}                          # 标签索引词典\n",
    "        self.idx2label = {}                          # 索引索引字典\n",
    "\n",
    "    def build_token_dict(self, corpus: List[List[str]]):\n",
    "        \"\"\"\n",
    "        构建 token 字典，这个方法将会遍历分词后的语料，构建一个标记频率字典和标记与索引的映射字典\n",
    "        Args:\n",
    "            corpus: 所有分词后的语料\n",
    "        \"\"\"\n",
    "        token2idx = {\n",
    "            '<PAD>': 0,\n",
    "            '<UNK>': 1\n",
    "        }\n",
    "\n",
    "        token2count = {}\n",
    "        for sentence in corpus:\n",
    "            for token in sentence:\n",
    "                count = token2count.get(token, 0)\n",
    "                token2count[token] = count + 1\n",
    "        # 按照词频降序排序\n",
    "        sorted_token2count = sorted(token2count.items(),\n",
    "                                    key=operator.itemgetter(1),\n",
    "                                    reverse=True)\n",
    "        self.token2count = collections.OrderedDict(sorted_token2count)\n",
    "\n",
    "        for token in self.token2count.keys():\n",
    "            token2idx[token] = len(token2idx)\n",
    "        self.token2idx = token2idx\n",
    "\n",
    "    def build_label_dict(self, labels: List[str]):\n",
    "        \"\"\"\n",
    "        构建标签索引映射字典\n",
    "        Args:\n",
    "            labels: 所有语料对应的标记\n",
    "        \"\"\"\n",
    "        label2idx = {}\n",
    "        for label in labels:\n",
    "            if label not in label2idx:\n",
    "                label2idx[label] = len(label2idx)\n",
    "        self.label2idx = label2idx\n",
    "        self.idx2label = dict([(index, label) for label, index in label2idx.items()])\n",
    "\n",
    "    def convert_text_to_index(self, sentence: List[str]):\n",
    "        \"\"\"\n",
    "        将分词后的标记（token）数组转换成对应的索引数组\n",
    "        如 ['我', '想', '睡觉'] -> [10, 313, 233]\n",
    "        Args:\n",
    "            sentence: 分词后的标记数组\n",
    "        Returns: 输入数据对应的索引数组\n",
    "        \"\"\"\n",
    "        token_result = []\n",
    "        for token in sentence:\n",
    "            token_result.append(self.token2idx.get(token, self.token2idx['<UNK>']))\n",
    "        return token_result\n",
    "    \n",
    "    def build_from_w2v(self, w2v_path: str):\n",
    "        \"\"\"\n",
    "        使用预训练词嵌入构建词表和词向量表\n",
    "        Args:\n",
    "            w2v_path: 预训练词嵌入文件路径\n",
    "        \"\"\"\n",
    "        w2v = gensim.models.KeyedVectors.load_word2vec_format(w2v_path)\n",
    "\n",
    "        token2idx = {\n",
    "            '<PAD>': 0, # 由于我们用 0 补全序列，所以补全标记的索引必须为 0\n",
    "            '<UNK>': 1  # 新词标记的索引可以使任何一个，设置为 1 只是为了方便\n",
    "        }\n",
    "\n",
    "        # 我们遍历预训练词嵌入的词表，加入到我们的标记索引词典\n",
    "        for token in w2v.index2word:\n",
    "            token2idx[token] = len(token2idx)\n",
    "\n",
    "        # 初始化一个形状为 [标记总数，预训练向量维度] 的全 0 张量\n",
    "        vector_matrix = np.zeros((len(token2idx), w2v.vector_size))\n",
    "        # 随机初始化 <UNK> 标记的张量\n",
    "        vector_matrix[1] = np.random.rand(300)\n",
    "        # 从索引 2 开始使用预训练的向量\n",
    "        vector_matrix[2:] = w2v.vectors\n",
    "        self.w2v = w2v\n",
    "        self.vector_matrix = vector_matrix\n",
    "        self.token2idx = token2idx\n",
    "        \n",
    "    def save_processor(self, folder: str):\n",
    "        \"\"\"\n",
    "        保存 Processor 信息到目标文件夹\n",
    "        Args:\n",
    "            folder: 目标文件夹路径\n",
    "        \"\"\"\n",
    "        pathlib.Path(folder).mkdir(exist_ok=True, parents=True)\n",
    "        token_index_path = os.path.join(folder, 'token_index.json')\n",
    "        with open(token_index_path, 'w') as f:\n",
    "            f.write(json.dumps(self.token2idx, ensure_ascii=False, indent=2))\n",
    "\n",
    "        label_index_path = os.path.join(folder, 'label_index.json')\n",
    "        with open(label_index_path, 'w') as f:\n",
    "            f.write(json.dumps(self.label2idx, ensure_ascii=False, indent=2))\n",
    "\n",
    "    def load_processor(self, folder: str):\n",
    "        \"\"\"\n",
    "        加载保存的 Processor\n",
    "        Args:\n",
    "            folder: 目标文件夹路径\n",
    "        \"\"\"\n",
    "        token_index_path = os.path.join(folder, 'token_index.json')\n",
    "        with open(token_index_path, 'r') as f:\n",
    "            self.token2idx = json.load(f)\n",
    "\n",
    "        label_index_path = os.path.join(folder, 'label_index.json')\n",
    "        with open(label_index_path, 'r') as f:\n",
    "            self.label2idx = json.load(f)\n",
    "            self.idx2label = dict([(v, k) for k, v in self.label2idx.items()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%% \n"
    }
   },
   "outputs": [],
   "source": [
    "# 由于给该类增加了方法，需要重新初始化 Processor 构建词表\n",
    "new_w2v_processor = Processor()\n",
    "new_w2v_processor.build_from_w2v('data/word2vec/sgns.weibo.bigram-char')\n",
    "new_w2v_processor.build_label_dict(list(train_df.label) + list(test_df.label))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 保存 Processor\n",
    "new_w2v_processor.save_processor('outputs/chapter-10/processor')\n",
    "# 保存模型\n",
    "w2v_model.save('outputs/chapter10/w2v_model.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 加载 Processor\n",
    "loaded_processor = Processor()\n",
    "loaded_processor.load_processor('outputs/chapter-10/processor')\n",
    "\n",
    "# 加载模型\n",
    "loaded_model = tf.keras.models.load_model('outputs/chapter10/w2v_model.h5')\n",
    "loaded_model.summary()\n",
    "\n",
    "# 预测新 query\n",
    "text = '我想看生活大爆炸'\n",
    "# 先进行分词并转换成其索引\n",
    "processed = process_query(text)\n",
    "idx = loaded_processor.convert_text_to_index(processed)\n",
    "print(f'text to idx: {text} -> {idx}')\n",
    "\n",
    "# 补全序列长度\n",
    "padding_idx = pad_sequences([idx], 15)\n",
    "print(f'padding inputs: {padding_idx}')\n",
    "\n",
    "# 使用模型预测并且把标签索引转换为对应的标签\n",
    "label_idx = loaded_model.predict(padding_idx).argmax(-1)[0]\n",
    "print(f'result domain: {loaded_processor.idx2label[label_idx]}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "w2v_processor = Processor()\n",
    "w2v_processor.build_from_w2v('data/word2vec/sgns.weibo.bigram-char')\n",
    "w2v_processor.build_label_dict(list(train_df.label) + list(test_df.label))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 分词后的 query 转换为对应的索引数组\n",
    "w2v_train_x = [w2v_processor.convert_text_to_index(query) for query in list(train_df.cutted)]\n",
    "w2v_test_x  = [w2v_processor.convert_text_to_index(query) for query in list(test_df.cutted)]\n",
    "\n",
    "# 补全序列到统一长度\n",
    "w2v_train_x = pad_sequences(w2v_train_x, maxlen=15)\n",
    "w2v_test_x  = pad_sequences(w2v_test_x, maxlen=15)\n",
    "\n",
    "# 标签转换为对应的索引\n",
    "w2v_train_y = np.array([processor.label2idx[label] for label in list(train_df.label)])\n",
    "w2v_test_y  = np.array([processor.label2idx[label] for label in list(test_df.label)])\n",
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_2\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "embedding_2 (Embedding)      (None, 15, 300)           58559700  \n",
      "_________________________________________________________________\n",
      "bidirectional_2 (Bidirection (None, 128)               186880    \n",
      "_________________________________________________________________\n",
      "dense_4 (Dense)              (None, 64)                8256      \n",
      "_________________________________________________________________\n",
      "dense_5 (Dense)              (None, 31)                2015      \n",
      "=================================================================\n",
      "Total params: 58,756,851\n",
      "Trainable params: 197,151\n",
      "Non-trainable params: 58,559,700\n",
      "_________________________________________________________________\n",
      "Train on 1954 samples, validate on 345 samples\n",
      "Epoch 1/20\n",
      "1954/1954 [==============================] - 16s 8ms/sample - loss: 2.4545 - accuracy: 0.4038 - val_loss: 1.6069 - val_accuracy: 0.6116\n",
      "Epoch 2/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 1.1100 - accuracy: 0.7262 - val_loss: 0.8118 - val_accuracy: 0.7594\n",
      "Epoch 3/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.5594 - accuracy: 0.8516 - val_loss: 0.5778 - val_accuracy: 0.8406\n",
      "Epoch 4/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.3605 - accuracy: 0.9089 - val_loss: 0.4725 - val_accuracy: 0.8696\n",
      "Epoch 5/20\n",
      "1954/1954 [==============================] - 13s 7ms/sample - loss: 0.2523 - accuracy: 0.9345 - val_loss: 0.5017 - val_accuracy: 0.8609\n",
      "Epoch 6/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.1610 - accuracy: 0.9637 - val_loss: 0.4446 - val_accuracy: 0.8609\n",
      "Epoch 7/20\n",
      "1954/1954 [==============================] - 13s 7ms/sample - loss: 0.1063 - accuracy: 0.9790 - val_loss: 0.4159 - val_accuracy: 0.8783\n",
      "Epoch 8/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.0744 - accuracy: 0.9862 - val_loss: 0.4483 - val_accuracy: 0.8580\n",
      "Epoch 9/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.0513 - accuracy: 0.9923 - val_loss: 0.4747 - val_accuracy: 0.8609\n",
      "Epoch 10/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.0405 - accuracy: 0.9949 - val_loss: 0.4476 - val_accuracy: 0.8667\n",
      "Epoch 11/20\n",
      "1954/1954 [==============================] - 11s 6ms/sample - loss: 0.0338 - accuracy: 0.9949 - val_loss: 0.4426 - val_accuracy: 0.8580\n",
      "Epoch 12/20\n",
      "1954/1954 [==============================] - 11s 5ms/sample - loss: 0.0301 - accuracy: 0.9944 - val_loss: 0.4376 - val_accuracy: 0.8667\n",
      "Epoch 13/20\n",
      "1954/1954 [==============================] - 11s 5ms/sample - loss: 0.0230 - accuracy: 0.9949 - val_loss: 0.4747 - val_accuracy: 0.8638\n",
      "Epoch 14/20\n",
      "1954/1954 [==============================] - 11s 6ms/sample - loss: 0.0214 - accuracy: 0.9944 - val_loss: 0.4723 - val_accuracy: 0.8609\n",
      "Epoch 15/20\n",
      "1954/1954 [==============================] - 11s 6ms/sample - loss: 0.0184 - accuracy: 0.9959 - val_loss: 0.4836 - val_accuracy: 0.8609\n",
      "Epoch 16/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.0186 - accuracy: 0.9959 - val_loss: 0.4893 - val_accuracy: 0.8609\n",
      "Epoch 17/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.0182 - accuracy: 0.9964 - val_loss: 0.5175 - val_accuracy: 0.8638\n",
      "Epoch 18/20\n",
      "1954/1954 [==============================] - 11s 6ms/sample - loss: 0.0181 - accuracy: 0.9954 - val_loss: 0.4857 - val_accuracy: 0.8696\n",
      "Epoch 19/20\n",
      "1954/1954 [==============================] - 13s 7ms/sample - loss: 0.0171 - accuracy: 0.9949 - val_loss: 0.5037 - val_accuracy: 0.8580\n",
      "Epoch 20/20\n",
      "1954/1954 [==============================] - 12s 6ms/sample - loss: 0.0152 - accuracy: 0.9959 - val_loss: 0.5304 - val_accuracy: 0.8696\n",
      "test loss: 8.722152868493811, test accuracy: 0.05844155699014664\n"
     ]
    }
   ],
   "source": [
    "w2v_model = tf.keras.Sequential([\n",
    "    L.Embedding(input_dim=len(w2v_processor.token2idx),\n",
    "                output_dim=w2v_processor.w2v.vector_size,\n",
    "                weights=[w2v_processor.vector_matrix],\n",
    "                input_shape=(15,),\n",
    "                trainable=False),\n",
    "    L.Bidirectional(L.LSTM(64)),\n",
    "    L.Dense(64, activation=tf.nn.relu),\n",
    "    L.Dense(len(w2v_processor.label2idx), activation=tf.nn.softmax)]\n",
    ")\n",
    "\n",
    "w2v_model.compile(optimizer='adam',\n",
    "                  loss='sparse_categorical_crossentropy',\n",
    "                  metrics=['accuracy'])\n",
    "w2v_model.summary()\n",
    "\n",
    "w2v_hist = w2v_model.fit(w2v_train_x,\n",
    "                         w2v_train_y,\n",
    "                         validation_split=0.15,\n",
    "                         epochs=20)\n",
    "test_loss, test_acc = w2v_model.evaluate(test_x, test_y, verbose=0)\n",
    "print(f'test loss: {test_loss}, test accuracy: {test_acc}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1080x720 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABdAAAAKTCAYAAAAZoCrdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAbrgAAG64BjF1z+AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3yV9fn/8dd1TjZkIDNExYG4ENyK41s3uLBSKk7AURXrqnW2VbHa+rN11lU3iCLiqFWcWEctUC1VWYpIZQiETQYkZJ3P74/7Psk5yTlJCElOxvv5eJzHucfnvu/PfRLCfV/nuq+POecQEREREREREREREZFogUR3QERERERERERERESkLVIAXUREREREREREREQkBgXQRURERERERERERERiUABdRERERERERERERCQGBdBFRERERERERERERGJQAF1EREREREREREREJAYF0EVEREREREREREREYlAAXUREREREREREREQkBgXQRURERERERERERERiUABdRERERERERERERCQGBdBFRERERERERERERGJQAF1EREREREREREREJAYF0EVEREREREREREREYlAAXUREREREREREREQkBgXQRURERERERERERERiUABdRERERERERERERCQGBdBFRERERERERERERGJQAF1EEsbMxpuZ81/HJLo/IiIiIiLScen+o20wswkRP4ddEt0fEZGGKIAuIo0WcZET6xUysyIzW2hmL5jZac10zKXNcXFlnhPM7Bkzm2dmm8ys0sw2m9kSM5tuZn82szPNLCtiu2MaOO9teR0T57ycmb21DedybYx9N/mzERERERFpi3T/ofsPEZG2ICnRHRCRDsOATGBP/3WemX0K/Mw5tyGhHTPLA14Ajomxuov/2gU4wV+2FujdGn2LMMzMejvn1jSi7diW7oyIiIiISBun+4/to/sPEZFGUgBdRJrqzFrzAaAHcDhwDpAG/AT4u5kd7ZxztXfgnBsPjG/JTppZN+BTYHd/0RbgdeBzvAvVFKAvcBDeBWx3IBixi/nUPddIZwOj/OmXgSn1tJ0fY1nIf08Czgfuq2d7zOwAYLA/W4n+jouIiIhI56D7D4/uP0REWpn+8IlIkzjn3oiz6kkzux+YiZcRciQwDHi3tfpWy+3UXLx+CZzunFsVq6GZBfEu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OkgOXtZ5t27dSElJAWDz5s1s2bKFLVu2tEi/G7Jx40aqqrwYU15eXtx2O+64Y/X02rVrq6fPPfdcvvjiCx5++GGmTJnClClTAOjfvz8nnXQSF110EQcddFDUvo466ijuuecefve73/Hee+/x3nvvVR/jhBNOYPTo0Rx77LHNdo4tTZE4kTaiKuS474PveOyTuvXOrz9pT644ZnfVOxcRERHpYCIz0AFWFZQqgC4iIs2nmWuFd2ThwUF///vfM2nSpOoA+oYNG3jnnXeAuuVbpk+fXh08v+KKKxg3bhx77703wWCwus2tt97KXXfdhXPt9ymzBx98kCuvvJJXXnmFzz77jFmzZrF48WIWL17MY489xjXXXFOnFvwNN9zAeeedx9SpU/n000+ZOXMmK1asYMKECUyYMIGRI0cyefJkkpOTE3RWjacSLiJtQGFJBRdN+E+d4HlmWhLPjj2EXx7bX8FzERERkQ4oNzs6WK466CIiIokTDpB///33/Pvf/wa8+uEVFRX07NmTk08+Oap9OBt76NChPProowwcODAqeA6JrwO+ww47VPepvjIyket69apbOrh///7ccsstvPPOO2zYsIFZs2bx05/+FICHHnqIN998s842ffv25dprr+Vvf/sba9asYe7cuVxyySUAvPrqqzz++OPbdW6tRQF0kQRbtKaY4Y/+i09r1Tvfo5dX7/xY1TsXERER6bByc6ID6KsUQBcREUmY/v37M2TIEKCmbEv4/ZxzziEpKbqYx48/enXYDjjggJj7c87x0UcftVR3GyUlJYVBgwYB8I9//CNuuw8//BCAQCDAgQceWO8+A4EAhx9+OK+++io777wz4GXjN2S//fbjqaee4sgjj2z0Nm2BAugiCfTOvHx++ugMlm0oiVo+dN/e/O2XR7Jrjy4J6pmIiIiItIa6GeilCeqJiIiIQM1goi+//DILFiyozkQPL4+UnZ0NwJw5c2Lu669//Ss//PBDC/W08c4++2zAy/qeP39+nfWbN2+uLkVzyimnVJ8XQFlZWdz9BoPB6lrvgUBNmLm+bQDS09PrbNOWtY9einQwW8oqufm1uVzx4pdRg4V69c4H8Ph5B9FVg4WKiIiIdHh1aqArA11ERCShRo0aRUpKChs2bGDs2LEA7LPPPnUGygQYNmwYAO+++y533nln9UChBQUF/PGPf+Sqq66i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6ZJLLtH999/v237BBRfooYce0rBhw7Ry5UqNGTOm22u1tLRo6tSp2rRpkxYuXKilS5eGFZRv3rxZEyZMkCRt2rQpqOVKoPHjx2vLli3661//qosvvrjD88eNG6fVq1crMzOzw2t0p7PXQ+rdayJJc+bM0Ycffqjvf//7+uUvf9lu/8knn6xnnnlGp59+up544olezTuehfPnPVBbhb61lsqEQSYW3uMjfpVW1evbj32odzftCdpujHTFkZN03fFTleymZg0AgGiI5Ht8WrjEkR17QxYQzWEBUQCIpLLqBpVU1Xd/ILr0xS9+UXfddZeKi4t922pra/XYY49Jkr7//e+HHRS/+uqr2rRpkyTptttu67cq865cffXVvQ7PpY5fD6n3r4nkVKFffvnleuCBB3TzzTcHtZUpKSnR8887H7hffvnlvZ43AKBrRbnp+sel83X3q5/p9qUb1OpxPoixVrrntc+1fMMu3XLaDM0akxvlmQIAgL7g4/A4UhoS6hTmsoAoACA6Nm7cqO9+97uaO3eucnNz5Xa7fYtuLl68WJK0fft23/ErVqxQc3OzJKc6OlxvvvmmJKmgoEDz5s2L4DMI34IFC7o9pqevh9T710SSzj33XGVlZam8vFxPP/100L6//OUvam1t1YQJE3T88cf36LoAgJ5xu4y+dewUPX75fI3KDS5wWl2yV6fd/YZ+/J+PVV3XHKUZAgCAvqICPY6EthUoogIdACKqMCfxPpjsj+f073//W+ecc44aGxt927Kzs5WWliZjjJqamlRZWana2lrf/vLyct/9cFpqhJ7Xk3MibcSIEV3u783rIfX+NZGkzMxMnX/++brnnnt077336vTTT5ckeTwe/fnPf5YkXXrppSweCgADZO64oXru2kX60b8/1jMflfm2Wys99PZWPf9xuX64+ACdftAo/m4GACDOEKDHkdLqkAr0BAx6ACCaBrpXeDyqqKjQxRdfrMbGRh1zzDH6v//7Px1yyCFKT/d/qLsAwarrAAAgAElEQVR06VIdd9xxQef1NiyIhZDB7XZ3uq+3r4fU9+d25ZVX6p577tH//vc/bd68WePHj9dLL72kLVu2KCkpSV/72tf6dH0AQM/kpCfr9+fM0bEHjNDPn1mnitom376K2iZd/89VemzFNv38tAM1dWRWFGcKAAB6ghYucaSsKqQCPZcKdADA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EGfTp0+XJL366qv1EsQhGzZs0J49e2SMqZVAHz58uB5//HHt3r1bx48f17Fjx1RZWanNmzdr/PjxKioq0rXXXqvjx49H7bclXXXVVVq2bJkOHjyosrIy5efnq7y8XCtWrNCQIUP04Ycf6tZbb4167E9+8pNwovg73/mOPv74Y5WWlio/P18FBQV65ZVXNH78+FrH+P1+XXPNNXrrrbeUnJysefPm6ciRIyooKFBJSYlycnL05JNPaujQoTF5vitWrNBf//pXPfbYYyooKFB+fr6Kioo0bty4uLwmAwcODD/2008/3eC4Q/uuv/56depEHAQAiapn5xRNuLC3fjzhPC2fNVo75lyp1d8fq19OvlDfuqSfzu2VrqbM1pJbVKHVOw/pl6s/0ree2qQL56zR+Plv6d6XtmvpO/u062CxagI29k8IAIAIxlo+fJrCGGOlYFK7teSXVemih14Pr19+bk8tmHFJqz0+ALQn2dnZKi8vl8/nU//+/aM3WjBOKs5t3YHFWucs6cbo04mcioqKCvXq1UtFRUV68skndcstt9RrM2vWLD311FMaM2aM1q1b16R+a2pqdNFFF2n79u1avHixpk2bVmv/jBkztGjRIt1www0xn8ojJydHZ511lqqqqrR3716deeaZ4X27d+/Weeedp0AgoHvuuUfz5s1rUp8LFizQTTfdJGOMVq5cqQkTJjTpuKY874ULF2rmzJnq37+/9u7dG/V4Sfrd736nO+64o0mPW1csXpO//vWvuuaaa9SpUyfl5uYqMzOz1v733ntPF198sSRp+/btuvDCC5s83ib9f49gnLkHrLVMxtvBxCPGBzqqskq/duQUadv+Qn2wv1Db9hcqt6j507b4vG5d0CdDI5wq9eH9MtU7IyV8LgcAQGrZGJ/fQiWw3MI6FxDN5AKiABBTxblSUevNw90WpaSkaOrUqXrmmWe0ePHiegn0yspKLV++XFLt6VtOxu12a/z48dq+fbvWr19fL4Hemvr06aNhw4bpnXfe0caNG2slixctWqRAIKBu3brp5z//eZP7fPbZZyVJEyZMaHLyvCV16dJFs2bNOuXjY/GaTJw4UX379tWBAwe0ePHiesn9UPX56NGjm5U8BwAkptRkj0YN6qZRg7qFtx0prtD7TjL9g/2F2n6gSKWV/kb7Ka+q0Tt78vXOnvzwtvRkjwb1TNNZ3VM1qEeqzuqRpkE90tS/m08pSUyDCgA4PSTQE9jBIi4gCgBIPNOnT9czzzwTnqpl4MCB4X0rV65UYWGhUlJS9M1vfrPesevWrdOCBQu0adMmHThwQGVlZfXaHDhwIKbjl4IX81y6dKmWLl2qDz74QEePHlVFRf0quLpj2bhxoyTpiiuuUEpK077Y9vv9evfddyUFp0mJh0suuURer7fRNq35mkjBL01uvvlmPfDAA3r66adrJdDLysr0wgsvSFLUXzkAANqHnp1TNO78Xhp3fi9JUiBg9enRUn0QqlI/UKiPDpbIf5JpW0oq/drmJOIjuYzUt4svIql+4r5HWjJV6wCAJiGBnsAiLyAqSVlUoANAbHXOivcIWl4MntOYMWM0cOBA7dmzR0uWLNF9990X3rd48WJJwURx3Sk5Zs+erUcffTS87na71aVLl3Bit7S0VGVlZVGT6i2pvLxcEydO1Nq1a8PbvF6vunbtqqSkJElSfn6+qqur643l0KFDktSkaUFC8vLyVF1d3ezjWlK0C39Gau3XJOSmm27SQw89pB07dmjTpk0aNWqUJGnp0qUqKSlRZmYmFw8FgA7E5TI6+4x0nX1GuqZe3E+SVFFdo//kFun9fSeS6vvzm3a9lICV9uWXa19+ud74+GitfekpHg3qEaxaP6tnmgY59/27+ZTsoWodAHACCfQElltIBToAtKoWnCu8PQtdHPTBBx/U4sWLwwn0vLw8rVq1SlL96Vtef/31cPL89ttv12233abzzjtPbveJP1Dvu+8+zZ07N+ZzEf/iF7/Q2rVr1alTJz388MOaPHmy+vXrV6sKbezYsVq/fn29sZxKpVoiVLdFvs7RtPZrEpKVlaVJkyZpxYoVeuqpp8IJ9ND0LdOmTePioQDQwaUkuTWyf1eN7N81vO1YaaW2HyjUB/sK9Z/cYn12rEz78subdYHRkoqGq9b7dfVpUPfUYII9onK9e5o3IT7XAQCtiwR6AqtXgU4CHQCQIEIJ9P/+97/hyuFly5apurpaPXr00Fe/+tVa7ZcuXSpJGjdunB5//PGofYYqmWMtNJb7779fd955Z7PG0qtXL+3atUvZ2dlNfrxQFXd1dXWzjpMkjycYqkWbSiWkqKioWX1G09qvSaRbb71VK1as0PLlyzV//nxlZ2dr8+bNknRa87YDANqv7mnJ+vK5Z+jL554R3lblD2hffpk+OVKmz46V6tPwfamKKxqfVz1SwErZeeXKzivX2ihV65EJ9azMFGV28irTl6RMn1ddfEnqnJIkl4skOwC0JyTQE9jBOhXoZ2Qkx2kkAADUNnjwYI0ePVpvv/22Fi9erFGjRoWnb7nuuuvCid+Q/fv3S5JGjBgRtT9rrf7973/HdtBNHMvevXv1ySefRN132WWXae3atXr99ddVUVHRpDm/PR6PLr30Um3YsEGvvvpqs5LCXbp0qTXmaELJ5tPR2q9JpK985SsaPHiwPvnkEz3//PPatWuXpODFQy+44IJm9QUA6Li8HpcG90zX4J7ptbZba5VXVqXPjpbp06Ol+uxoqT49WqbPjpZqX365mlG0rpIKf3h+9oYYI2V0SlIXn9e5DybXM31JyuzkVZfUpPD+TJ/Tzpek9GQP1e0AkKBIoCew3IgK9O5pyczDBgBIKNOnT9fbb7+tZcuW6fbbb9emTZvC2+vKyMiQJG3bti1qX0888YQ+++yz2A22zliOHTumbdu2ady4cfX233vvvQ0eO2PGDD3yyCPKy8vTAw88oHnz5jXpMW+88UZt2LBBq1at0qpVqzRhwoQmHTds2DBJ0rvvvqv9+/erX79+tfbv2rVLK1asaFJfjYnHaxJijNGsWbN09913649//KNycnIkcfFQAEDLMMaoe1qyuqcl69KBXWvtq/TXaF9euT51kurBBHvwvqQZVeuRrJUKy6tVWF7drOPcLqPMTkm1qtkzOnmdBPyJJHwoMd/J61aq1+Pcu+Vxu05pvACAkyOBnqACAavDxScq0HtncAFRAEBiufbaa/X9739feXl5mjFjhiRp6NChGjlyZL2248eP11/+8hetXr1aDz30kO666y6lpqaqsLBQf/zjH3X//ferW7duysvLi/m4x48fryVLlmju3LkaPHiwJk2aJI/Hoz179uinP/2pli9fri5duqigoKDesYMHD9bdd9+tRx55RI8++qjy8vI0e/ZsnX322ZKk4uJirV69WkuXLtXLL78cPu7666/Xs88+q/Xr12vKlCl68MEHNXPmTHXv3l2SlJubq2XLlunQoUO1EtBXXXWV0tLSVFpaqm9+85tauHChhgwZourqaq1atUq33367UlNTVVlZ2eZek0gzZ87Uz372M+3cuVOSuHgoAKBVJHvc4YuWRrLW6lhpVa1q9U+P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\n",
      "text/plain": [
       "<Figure size 1800x720 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize_train_process(w2v_hist, 'BiLSTM')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 11.4 保存和加载模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "class Processor(object):\n",
    "\n",
    "    def __init__(self):\n",
    "        self.token2idx = {}                          # token 索引字典\n",
    "        self.token2count = collections.OrderedDict() # token 词频表\n",
    "        self.label2idx = {}                          # 标签索引词典\n",
    "        self.idx2label = {}                          # 索引索引字典\n",
    "\n",
    "    def build_token_dict(self, corpus: List[List[str]]):\n",
    "        \"\"\"\n",
    "        构建 token 字典，这个方法将会遍历分词后的语料，构建一个标记频率字典和标记与索引的映射字典\n",
    "        Args:\n",
    "            corpus: 所有分词后的语料\n",
    "        \"\"\"\n",
    "        token2idx = {\n",
    "            '<PAD>': 0,\n",
    "            '<UNK>': 1\n",
    "        }\n",
    "\n",
    "        token2count = {}\n",
    "        for sentence in corpus:\n",
    "            for token in sentence:\n",
    "                count = token2count.get(token, 0)\n",
    "                token2count[token] = count + 1\n",
    "        # 按照词频降序排序\n",
    "        sorted_token2count = sorted(token2count.items(),\n",
    "                                    key=operator.itemgetter(1),\n",
    "                                    reverse=True)\n",
    "        self.token2count = collections.OrderedDict(sorted_token2count)\n",
    "\n",
    "        for token in self.token2count.keys():\n",
    "            token2idx[token] = len(token2idx)\n",
    "        self.token2idx = token2idx\n",
    "\n",
    "    def build_label_dict(self, labels: List[str]):\n",
    "        \"\"\"\n",
    "        构建标签索引映射字典\n",
    "        Args:\n",
    "            labels: 所有语料对应的标记\n",
    "        \"\"\"\n",
    "        label2idx = {}\n",
    "        for label in labels:\n",
    "            if label not in label2idx:\n",
    "                label2idx[label] = len(label2idx)\n",
    "        self.label2idx = label2idx\n",
    "        self.idx2label = dict([(index, label) for label, index in label2idx.items()])\n",
    "\n",
    "    def convert_text_to_index(self, sentence: List[str]):\n",
    "        \"\"\"\n",
    "        将分词后的标记（token）数组转换成对应的索引数组\n",
    "        如 ['我', '想', '睡觉'] -> [10, 313, 233]\n",
    "        Args:\n",
    "            sentence: 分词后的标记数组\n",
    "        Returns: 输入数据对应的索引数组\n",
    "        \"\"\"\n",
    "        token_result = []\n",
    "        for token in sentence:\n",
    "            token_result.append(self.token2idx.get(token, self.token2idx['<UNK>']))\n",
    "        return token_result\n",
    "    \n",
    "    def build_from_w2v(self, w2v_path: str):\n",
    "        \"\"\"\n",
    "        使用预训练词嵌入构建词表和词向量表\n",
    "        Args:\n",
    "            w2v_path: 预训练词嵌入文件路径\n",
    "        \"\"\"\n",
    "        w2v = gensim.models.KeyedVectors.load_word2vec_format(w2v_path)\n",
    "\n",
    "        token2idx = {\n",
    "            '<PAD>': 0, # 由于我们用 0 补全序列，所以补全标记的索引必须为 0\n",
    "            '<UNK>': 1  # 新词标记的索引可以使任何一个，设置为 1 只是为了方便\n",
    "        }\n",
    "\n",
    "        # 我们遍历预训练词嵌入的词表，加入到我们的标记索引词典\n",
    "        for token in w2v.index2word:\n",
    "            token2idx[token] = len(token2idx)\n",
    "\n",
    "        # 初始化一个形状为 [标记总数，预训练向量维度] 的全 0 张量\n",
    "        vector_matrix = np.zeros((len(token2idx), w2v.vector_size))\n",
    "        # 随机初始化 <UNK> 标记的张量\n",
    "        vector_matrix[1] = np.random.rand(300)\n",
    "        # 从索引 2 开始使用预训练的向量\n",
    "        vector_matrix[2:] = w2v.vectors\n",
    "        self.w2v = w2v\n",
    "        self.vector_matrix = vector_matrix\n",
    "        self.token2idx = token2idx\n",
    "        \n",
    "    def save_processor(self, folder: str):\n",
    "        \"\"\"\n",
    "        保存 Processor 信息到目标文件夹\n",
    "        Args:\n",
    "            folder: 目标文件夹路径\n",
    "        \"\"\"\n",
    "        pathlib.Path(folder).mkdir(exist_ok=True, parents=True)\n",
    "        token_index_path = os.path.join(folder, 'token_index.json')\n",
    "        with open(token_index_path, 'w') as f:\n",
    "            f.write(json.dumps(self.token2idx, ensure_ascii=False, indent=2))\n",
    "\n",
    "        label_index_path = os.path.join(folder, 'label_index.json')\n",
    "        with open(label_index_path, 'w') as f:\n",
    "            f.write(json.dumps(self.label2idx, ensure_ascii=False, indent=2))\n",
    "\n",
    "    def load_processor(self, folder: str):\n",
    "        \"\"\"\n",
    "        加载保存的 Processor\n",
    "        Args:\n",
    "            folder: 目标文件夹路径\n",
    "        \"\"\"\n",
    "        token_index_path = os.path.join(folder, 'token_index.json')\n",
    "        with open(token_index_path, 'r') as f:\n",
    "            self.token2idx = json.load(f)\n",
    "\n",
    "        label_index_path = os.path.join(folder, 'label_index.json')\n",
    "        with open(label_index_path, 'r') as f:\n",
    "            self.label2idx = json.load(f)\n",
    "            self.idx2label = dict([(v, k) for k, v in self.label2idx.items()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%% \n"
    }
   },
   "outputs": [],
   "source": [
    "# 由于给该类增加了方法，需要重新初始化 Processor 构建词表\n",
    "new_w2v_processor = Processor()\n",
    "new_w2v_processor.build_from_w2v('data/word2vec/sgns.weibo.bigram-char')\n",
    "new_w2v_processor.build_label_dict(list(train_df.label) + list(test_df.label))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 保存 Processor\n",
    "new_w2v_processor.save_processor('outputs/chapter-10/processor')\n",
    "# 保存模型\n",
    "w2v_model.save('outputs/chapter10/w2v_model.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_2\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "embedding_2 (Embedding)      (None, 15, 300)           58559700  \n",
      "_________________________________________________________________\n",
      "bidirectional_2 (Bidirection (None, 128)               186880    \n",
      "_________________________________________________________________\n",
      "dense_4 (Dense)              (None, 64)                8256      \n",
      "_________________________________________________________________\n",
      "dense_5 (Dense)              (None, 31)                2015      \n",
      "=================================================================\n",
      "Total params: 58,756,851\n",
      "Trainable params: 197,151\n",
      "Non-trainable params: 58,559,700\n",
      "_________________________________________________________________\n",
      "text to idx: 我想看生活大爆炸 -> [28, 111, 82, 98, 64, 6977]\n",
      "padding inputs: [[   0    0    0    0    0    0    0    0    0   28  111   82   98   64\n",
      "  6977]]\n",
      "result domain: video\n"
     ]
    }
   ],
   "source": [
    "# 加载 Processor\n",
    "loaded_processor = Processor()\n",
    "loaded_processor.load_processor('outputs/chapter-10/processor')\n",
    "\n",
    "# 加载模型\n",
    "loaded_model = tf.keras.models.load_model('outputs/chapter10/w2v_model.h5')\n",
    "loaded_model.summary()\n",
    "\n",
    "# 预测新 query\n",
    "text = '我想看生活大爆炸'\n",
    "# 先进行分词并转换成其索引\n",
    "processed = process_query(text)\n",
    "idx = loaded_processor.convert_text_to_index(processed)\n",
    "print(f'text to idx: {text} -> {idx}')\n",
    "\n",
    "# 补全序列长度\n",
    "padding_idx = pad_sequences([idx], 15)\n",
    "print(f'padding inputs: {padding_idx}')\n",
    "\n",
    "# 使用模型预测并且把标签索引转换为对应的标签\n",
    "label_idx = loaded_model.predict(padding_idx).argmax(-1)[0]\n",
    "print(f'result domain: {loaded_processor.idx2label[label_idx]}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "metadata": {
     "collapsed": false
    },
    "source": []
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
